Delphi 7 中的 GetStackTrace?
使用 Delphi 7,如何从异常中获取表示堆栈跟踪的字符串?
try
SomethingDodgy();
except
on E:Exception do begin
// print stack trace
Log.Write(/* ??? */);
end;
end;
我听说最新的delphi中有一个GetStackTrace函数,但我找不到delphi 7的任何东西。不,升级不是一个选项:)
Using Delphi 7, how can I get a string representing the stack-trace from an Exception
?
try
SomethingDodgy();
except
on E:Exception do begin
// print stack trace
Log.Write(/* ??? */);
end;
end;
I hear there's a GetStackTrace function in the latest delphi, but I can't find anything for delphi 7. No, upgrading is not an option :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以尝试使用 madExcept,一个很棒的异常处理框架。
madshi 中有大量示例代码;我确信我以前使用过其中的堆栈跟踪内容。
正如 Dmitriy 指出的,JCL 也有堆栈跟踪代码;旧示例位于此处。
You could try using madExcept, a wonderful Exception handling framework.
madshi has heaps of sample code in there; I'm sure I've used the stack-trace stuff in there before.
As Dmitriy noted, the JCL also has stack-trace code; an old sample is here.
我在游戏中抛出 EurekaLog 。这是一个很棒的工具,而且一点也不贵。
I throw EurekaLog in the game. It's a great tool and not expensive at all.
MemChk 非常容易使用(尤其是搜索/查找内存泄漏)并知道如何从代码地址呈现堆栈跟踪。
MemChk is pretty easy to use (especially to search/find memory leaks) and knows how to render a stack trace from a code address.
Win32 中的堆栈跟踪不如 .NET 或 Java 的好(最新版本的 Delphi 使用 .NET 堆栈跟踪)。
无论如何,我找到了一个提供更多信息的链接 此处(位于 ExeEx,以便允许查看该解决方案,请单击搜索上的第一个链接)。
请参阅页面底部。
The stack-trace in Win32 is not as good as .NET's or Java's (and the latest versoin of Delphi uses .NET stack trace).
Anyway, I found one link that provides more information on it here (It is at ExeEx so to allow to view that solution click the first link on the search).
See the bottom of the page there.