Delphi 2009中的Exception类获得了许多新功能。其中一些涉及得到一个堆栈跟踪:在Delphi 2009中挂接Stacktrace
- 财产堆栈跟踪:串阅读的getStackTrace;
- property StackInfo:指针read FStackInfo;
- class var GetExceptionStackInfoProc:function(P:PExceptionRecord):指针;
- 类变种 GetStackInfoStringProc:功能(信息:指针):串;
- class var CleanUpStackInfoProc:procedure(Info:Pointer);
有没有人用这些来获得堆栈跟踪呢?是的,我知道还有其他方法来获取堆栈跟踪,但是如果它在Exception类中本地支持,我宁愿利用它。
更新:有一个兴趣blog post about this。涵盖了很多深度。
你是100%正确的。 这些新功能适用于第三方异常挂钩框架。现在,有一种记录的方式来做一些工作,而不是使用黑客和钩子。 另外,非常有价值的FStackInfo字段允许将异常与来自异常跟踪引擎(最终!)的其他信息相关联。 – Alex 2009-04-25 11:26:25