Delphi 7中的GetStackTrace?

Blo*_*ard 10 delphi exception delphi-7 stack-trace

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

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

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

moo*_*baa 15

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

madshi里面有大量的示例代码; 我确定我之前使用过堆栈跟踪的东西.

正如Dmitriy所说,JCL还有堆栈跟踪代码; 一个旧样本在这里.

  • 这并不是那么昂贵.你应该花多少小时的工作来解决这个问题? (3认同)

jpf*_*ius 5

我把EurekaLog扔进游戏中.这是一个很棒的工具,而且价格也不贵.


Dmy*_*iak -1

Win32 中的堆栈跟踪不如.NET 或Java 的好(最新版本的Delphi 使用.NET 堆栈跟踪)。无论如何,我在这里
找到了一个提供更多信息的链接(它位于 ExeEx,因此要查看该解决方案,请单击搜索中的第一个链接)。

请参阅页面底部。

  • SO越早杀死他们越好。 (7认同)
  • ExEx很狡猾。如果你在谷歌上搜索URL,然后点击谷歌上的链接,你的推荐人将是谷歌,他们会向你展示解决方案。 (4认同)
  • -1。专家交流:“所有意见和解决方案仅供高级服务会员使用。” (2认同)