如何调试崩溃的转储文件
本文关键字:崩溃 转储 文件 调试 何调试 | 更新日期: 2023-09-27 17:56:29
我在Windows Server 2008上运行调试诊断工具。它创建了转储文件。因为我的 asp.net 应用程序时不时地出现异常。
我需要有关如何调试转储文件的分步说明。我需要在生产服务器还是本地调试?我需要什么?如何配置?
如何确定应用程序中的问题所在?
还有其他方法可以读取转储文件吗?
这是我发现的帖子,它对转储文件有很好的解释,但他们没有解释调试部分
http://blogs.msdn.com/b/tess/archive/2009/03/20/debugging-a-net-crash-with-rules-in-debug-diag.aspx
调试转储所需的只是WinDbg,可以从框架附带的Microsoft和SOS下载。
启动 WinDbg 并从"文件"菜单加载转储文件。这将告诉您有关转储的一些初始信息。这将告诉您正在查看的转储类型。
使用命令 .symfix
设置符号。
使用命令 .loadby sos clr
(.NET 4) 或命令 .loadby sos mscorwks
(以前版本的 .NET)加载 SOS。
使用 !threads
命令查看转储文件中的线程。请注意最右侧的异常列。如果在此列中看到任何异常,请使用 !pe <EXCEPTION OBJECT>
命令获取详细信息。
欲了解更多信息,请阅读Tess博客上的一些帖子。
我认为你的问题没有简单的答案,因为有很多不同的场景。
然而,我可以给你一些基本的流程,但你绝对需要查看书籍或网站以找到更多信息。
首先,如果您有该应用程序的 pdb 文件和源代码,请尝试加载它们并将它们指向您的源代码。拥有它们后,尝试通过键入"lm"来查看所有加载的模块,如果您没有看到您的模块,您可以通过键入".reload/f your module.exe"来加载它
其次,在 windbg 中加载崩溃转储后尝试"analyze -v"命令。
如果配置正确,windbg 可能能够指出它面临崩溃的确切源代码行。
最后,在配置符号时,请同时添加Microsoft符号服务器以简化调试会话。
有很多书籍和网站可以提供帮助,但我认为代码项目教程系列非常好。
这是第一个系列。http://www.codeproject.com/KB/debug/cdbntsd.aspx
我想你可能想购买高级Windows调试。 网络上没有足够好的东西可以让你很好地学习这一点。
http://www.amazon.com/Advanced-Windows-Debugging-Mario-Hewardt/dp/0321374460/ref=sr_1_1?ie=UTF8&qid=1305567440&sr=8-1
你可以在这里查看图书网站:
http://www.advancedwindowsdebugging.com/
对于其他一些资源