来自发布版本的 Visual Studio 2010 中的核心转储
我使用 .NET 4.0、WinForms 和 DevExpress Winforms 组件构建应用程序。 我有一个错误,无法使用简单的“逐步”方法重现。
我正在尝试使用核心转储来调试此问题。 我可以使用以下命令在 Visual Studio 内很好地获取核心转储并查看异常
adplus -crash -pn Main.exe -oc:\output -y C:\pdb -fullonfirst
但是,这似乎仅适用于调试版本,使用发布版本我收到消息“没有可用的源,没有加载符号”任何调用堆栈框架都无法显示”
如何使用发布版本获取有用的信息? 对于这个问题我应该使用什么最佳实践吗?
I have build application using .NET 4.0, WinForms and DevExpress Winforms components.
I have a bug that I cannot reproduce using simple "step by step" method.
I am trying to use core dumps to debug this issue.
I can get core dump and view exception nicely inside visual studio using
adplus -crash -pn Main.exe -o c:\output -y C:\pdb -fullonfirst
However, this seems to be working only with debug build, with release build I am getting message "No source available, No symbols are loaded for any call stack frame. The source code cannot be displayed"
How can I get useful information using release build?
Are there any best practices I should use with this problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
切换到发布版本,项目+属性,构建选项卡,向下滚动,高级。将“调试信息”设置更改为“完整”。请务必更改 /y 参数,这些 .pdb 需要与调试版本分开存储。
Switch to the Release build, Project + Properties, Build tab, scroll down, Advanced. Change the "Debug Info" setting to Full. Be sure to change the /y argument, these .pdbs need to be stored separate from the debug versions.
您应该看看 NDC2010 的一些演示:
使用 Visual Studio 进行高级调试
http://streaming.ndc2010.no/tcs/?id =B25D60E8-48C1-4514-9276-608859B4CC72
硬核.NET生产调试
http://streaming.ndc2010.no/tcs/?id =7CA2DE20-2C1E-4E15-B962-5A61426B2218
均由 Ingo Rammer 设计。
You should have a look at some these presentations from NDC2010:
Advanced Debugging with Visual Studio
http://streaming.ndc2010.no/tcs/?id=B25D60E8-48C1-4514-9276-608859B4CC72
Hardcore .NET Production Debugging
http://streaming.ndc2010.no/tcs/?id=7CA2DE20-2C1E-4E15-B962-5A61426B2218
Both by Ingo Rammer.