异常的 JEDI 代码库行号
我有一个 codegear C++ 构建器项目,并添加了 JCL 库以在发生异常时获取堆栈转储。我得到了堆栈转储,但缺少最重要的东西,即实际发生异常的行号。我得到了函数名称,但如果函数有 30 行那么长,就不容易猜到问题出在哪里。
我在这里错过了什么吗?
I have a codegear C++ builder project and added the JCL library to get a stackdump when an exception occurs. I get the stackdump, but the most important thing is missing, the line number where the exception actually happened. I get the function name, but if the function is 30 lines long it's not easy to guess where the problem is.
Am I missing something here?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我进一步研究它,它至少对我现在使用 Delphi 2007 有用。我认为它对 C++ Builder 的工作方式相同。
我的猜测是您没有在编译器选项中检查调试信息以及“使用调试 DCU”。
我尝试了 JCL 中包含的用 Delphi 编译的示例
examples\windows\debug\stacktrack\StackTrackDemoMain.pas。
以下是输出示例:
注意:我已将文件 StackTrackDemoMain.pas 方法 TMainForm.ApplicationEventsException 更改
为
祝你好运!
I investigate it further and it works for me at least now using Delphi 2007. I think it works the same way for C++ Builder.
My guess is that you have not checked the Debug information also "Use debug DCU's" in compiler options.
I tried the included example in JCL that is compiled with Delphi
examples\windows\debug\stacktrack\StackTrackDemoMain.pas.
Here is an example of the output:
NOTE: I have changed in file StackTrackDemoMain.pas method TMainForm.ApplicationEventsException
to
Good luck!