我知道我可以使用像madExcept,EurekaLog,JclDebug等组件来获取堆栈跟踪。但是如何在不使用这些组件的情况下获得堆栈跟踪?
答案 0 :(得分:3)
Windows API提供了一个返回堆栈跟踪的函数。它是RtlCaptureStackBackTrace
。
将返回代码地址而不是函数名称。如果您想显示您提到的第三方组件等信息,那么您需要做更多工作。您需要访问Delphi链接器发出的映射文件中的信息。
答案 1 :(得分:2)
请参阅 d:\ DelphiProjects \ Libs \ JCL \ jcl \ experts \ repository \ ExceptionDialog \ StandardDialogs 以获取此示例实现。