如何调试崩溃的转储文件

本文关键字:崩溃 转储 文件 调试 何调试 | 更新日期: 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/

对于其他一些资源