5

在一个 delphi 2007 应用程序中,我们使用了 madExcept 来为我们处理异常。我们使用标准对话框,让用户根据需要向我们发送带有邮件的报告。

我们想为这个功能添加一点东西。如果用户选择不发送完整报告,我们仍然希望将异常记录到文件中,而不是完整报告。我们想要异常类和消息,以及源文件和行号。

前两个很容易,但我找不到找到后者的直接方法。

我有IMEException界面形式的完整异常报告。据我所知,调用堆栈只能通过BugReportSections属性获得,它以纯文本形式提供堆栈。

在 madStackTrace.pas 中,有一个 -function 可以满足StackTrace( )我的需求。它需要很多参数,并且文档信息有点短..

问题: 是否有人知道正确的参数StackTrace( ),以便它只从抛出异常的线程返回堆栈的顶部项目?

4

1 回答 1

5

madStackTrace.pas 有另一个函数,它只StackAddrToStr接受一个地址并为其返回格式化文本。如果您在except崩溃线程的块中,则可以将全局ExceptAddr变量传递给它。如果您在其中一个 madExcept 回调中,请改用“IMEException.ExceptAddr”。

于 2011-01-07T16:00:50.133 回答