如何在不使用第三方组件的情况下获取堆栈跟踪?

时间:2013-07-04 08:56:35

标签: delphi

我知道我可以使用像madExcept,EurekaLog,JclDebug等组件来获取堆栈跟踪。但是如何在不使用这些组件的情况下获得堆栈跟踪?

2 个答案:

答案 0 :(得分:3)

Windows API提供了一个返回堆栈跟踪的函数。它是RtlCaptureStackBackTrace

将返回代码地址而不是函数名称。如果您想显示您提到的第三方组件等信息,那么您需要做更多工作。您需要访问Delphi链接器发出的映射文件中的信息。

答案 1 :(得分:2)

请参阅 d:\ DelphiProjects \ Libs \ JCL \ jcl \ experts \ repository \ ExceptionDialog \ StandardDialogs 以获取此示例实现。