Delphi 7中的GetStackTrace?

时间:2009-11-16 05:33:17

标签: delphi exception stack-trace delphi-7

使用Delphi 7,如何从Exception获取表示堆栈跟踪的字符串?

try
  SomethingDodgy();
except
  on E:Exception do begin
    // print stack trace
    Log.Write(/* ??? */);
  end;
end;

我听说最新的delphi中有一个GetStackTrace函数,但我找不到delphi 7的任何东西。不,升级不是一个选项:)

4 个答案:

答案 0 :(得分:15)

您可以尝试使用madExcept,这是一个很棒的异常处理框架。

madshi里面有很多示例代码;我确定我以前在那里使用过堆栈跟踪的东西。

正如Dmitriy所说,JCL也有堆栈跟踪代码;旧样本为here

答案 1 :(得分:5)

我在游戏中抛出EurekaLog。这是一个很棒的工具,而且价格也不贵。

答案 2 :(得分:1)

MemChk非常易于使用(特别是搜索/查找内存泄漏),并且知道如何从代码地址呈现堆栈跟踪。

答案 3 :(得分:-1)

Win32中的堆栈跟踪不如.NET或Java(并且Delphi的最新版本使用.NET堆栈跟踪)。
无论如何,我找到了一个链接,提供了有关它的更多信息here(它位于ExeEx,所以允许查看该解决方案点击搜索的第一个链接)。

请参见页面底部。