Delphi 2009中的Exception类获得了许多新功能.其中一些与获取堆栈跟踪有关:
属性 StackTrace:字符串 读取 GetStackTrace;
属性 StackInfo:指针读取 FStackInfo;
class var GetExceptionStackInfoProc:function(P:PExceptionRecord):指针;
class var GetStackInfoStringProc:function(Info:Pointer):string ;
class var CleanUpStackInfoProc:procedure(Info:Pointer);
有没有人用这些来获得堆栈跟踪呢?是的,我知道还有其他方法可以获得堆栈跟踪,但如果它在Exception类中本机支持,我宁愿利用它.
更新:有关于此的兴趣博客文章.涵盖了很多深度.
对我来说,这看起来像一个框架,您可以插入自己的堆栈跟踪.我想这可能会在IDE内部使用JCLDebug.也许它旨在让用户能够提供madExcept或其他实现.