在Delphi2007应用程序中,我们使用madExcept为我们处理输出。我们使用标准对话框,允许用户发送带有邮件的报告(如果他愿意的话)。
我们想在这个功能上增加一点。如果用户选择不发送完整的报告,我们仍然希望将异常记录到文件,而不是完整的报告。我们需要异常类和消息,以及源文件和行号。
前两个很简单,但我找不到一个直接的方法来找到后者。
我有一个IMEException接口形式的完整异常报告。据我所见,调用堆栈只能通过BugReportSections属性使用,这给了我纯文本的堆栈。
在madStackTrace.pas中,有一个StackTrace( )-function可以满足我的需要。它需要很多参数,而且文档中的信息有点少。
问题:是否有人知道要输入StackTrace( )的正确参数,以便只从抛出异常的线程返回堆栈的顶部项?
发布于 2011-01-07 16:00:50
madStackTrace.pas还有另一个函数,StackAddrToStr,它只接受一个地址并返回格式化的文本。如果您在崩溃线程的except块中,可以将全局ExceptAddr变量传递给它。如果您在其中一个madExcept回调中,则使用`IMEException.ExceptAddr‘代替。
https://stackoverflow.com/questions/4625364
复制相似问题