Delphi 如何在Application.OneException事件处理程序中获取异常源?

Delphi 如何在Application.OneException事件处理程序中获取异常源?,delphi,delphi-7,onexception,Delphi,Delphi 7,Onexception,在Delphi7中,如果我在我的应用程序.OnException事件处理程序中捕获到一个异常,那么我们如何找出应用程序的哪个函数或过程抛出了这个未处理的异常 我已经创建了一个应用程序,并且正在正确地获取异常,但是如何打印导致此异常的方法名呢?这不是一件容易做到的事情。您需要钩住低级异常处理例程以获得可靠的堆栈跟踪。这是一个非常高级的话题。它需要对运行库进行反向工程。不能在堆栈溢出问题中合理地详细解释 有许多现有的第三方工具提供这种功能:madExcept、EurekaLog和JclDebug。我

在Delphi7中,如果我在我的
应用程序.OnException
事件处理程序中捕获到一个异常,那么我们如何找出应用程序的哪个函数或过程抛出了这个未处理的异常


我已经创建了一个应用程序,并且正在正确地获取异常,但是如何打印导致此异常的方法名呢?

这不是一件容易做到的事情。您需要钩住低级异常处理例程以获得可靠的堆栈跟踪。这是一个非常高级的话题。它需要对运行库进行反向工程。不能在堆栈溢出问题中合理地详细解释

有许多现有的第三方工具提供这种功能:madExcept、EurekaLog和JclDebug。我只有疯狂的经历,但我非常赞同。然而,据大家说,其他的辛苦工作也很好

如果你想学习如何做到这一点,那么看看开源的JclDebug。如果您不需要学习,只是希望将这些功能添加到您的程序中,请评估并选择其中一种工具。JclDebug可能更难集成到您的程序中,因此如果您正在寻找一种快速、简单的前进路线,那么其他两种方法中的一种可能会更有价值