Delphi7中的GetStackTrace?
使用Delphi7,如何从Delphi7中的GetStackTrace?,delphi,exception,stack-trace,delphi-7,Delphi,Exception,Stack Trace,Delphi 7,使用Delphi7,如何从异常中获取表示堆栈跟踪的字符串 try SomethingDodgy(); except on E:Exception do begin // print stack trace Log.Write(/* ??? */); end; end; 我听说在最新的delphi中有一个GetStackTrace函数,但是我找不到Delphi7的任何东西。不,升级不是一个选项:)Win32中的堆栈跟踪不如.NET或Java(最新版本的Delphi使用
异常中获取表示堆栈跟踪的字符串
try
SomethingDodgy();
except
on E:Exception do begin
// print stack trace
Log.Write(/* ??? */);
end;
end;
我听说在最新的delphi中有一个GetStackTrace函数,但是我找不到Delphi7的任何东西。不,升级不是一个选项:)Win32中的堆栈跟踪不如.NET或Java(最新版本的Delphi使用.NET堆栈跟踪)。
无论如何,我找到了一个提供更多信息的链接(它位于ExeEx,以便允许查看该解决方案,请单击搜索上的第一个链接)
请参见页面底部。您可以尝试使用一个出色的异常处理框架
madshi在那里有大量的示例代码;我肯定我以前用过堆栈跟踪的东西
正如Dmitry所指出的,还具有堆栈跟踪代码;一个旧的示例是。非常容易使用(特别是搜索/查找内存泄漏),并且知道如何从代码地址呈现堆栈跟踪。我在游戏中加入了。这是一个很棒的工具,而且一点也不贵。是的,madExcept非常棒——但这是我正在编写的商业代码,我认为我现在无法让公司购买madExcept。JCL听起来也不错,我会看一看。它并不那么贵。你应该花多少时间来解决这个问题?是的,但是堆栈跟踪在这个项目中是一个不错的选择,所以我不会花太多时间来解决它。详细的JCL教程:注意,更新的Delphi版本中的GetStackTrace
方法实际上不会返回堆栈跟踪。您确实需要一个外部异常框架。您可以在几分钟内设置JCL。我在这个问题上贴了一个例子:-1。专家交流:“所有评论和解决方案仅限高级服务会员使用。”我告诉过你在底部阅读!有解决办法。投票前请仔细阅读@德米特里:不,没有解决办法。不在底部,也不在其他任何地方。ExEx是鬼鬼祟祟的。如果你在谷歌上搜索URL,然后点击谷歌的链接,你的推荐人将是谷歌,他们将向你展示解决方案。越快杀死他们,效果越好。