【问题标题】:How to debug Crashed Dump File?如何调试崩溃的转储文件?
【发布时间】:2011-08-26 13:19:05
【问题描述】:

我在我的 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

【问题讨论】:

    标签: c# asp.net iis iis-7


    【解决方案1】:

    您只需要调试转储文件就是 WinDbg,它可以从 Microsoft 和框架附带的 SOS 下载。

    启动 WinDbg 并从“文件”菜单加载转储文件。这将告诉您有关转储的一些初始信息。这将告诉您正在查看的转储类型。

    使用命令.symfix设置符号。

    使用命令.loadby sos clr (.NET 4) 或.loadby sos mscorwks(.NET 的早期版本)加载 SOS。

    使用!threads 命令查看转储文件中的线程。请注意最右侧的异常列。如果您在此列中看到任何异常,请使用 !pe <EXCEPTION OBJECT> 命令获取详细信息。

    有关更多信息,请阅读Tess' blog 上的一些帖子。

    【讨论】:

    • Brian 我的服务器上有 DMP 文件,每个文件大约 400 mb。我在本地机器上安装了windbg。在我尝试打开其中一个文件后,我收到此错误 - *** 错误:找不到符号文件。默认为 kernel32.dll 导出符号 - kernel32!RaiseException+0x58:。我可以在服务器上使用windbg吗?如何加载符号?
    • @Michael:你可以在服务器上使用WinDbg,不需要安装任何东西。只需从 USB 记忆棒或网络共享中复制或运行 WinDbg。 .symfix 命令将指示 WinDbg 从 Microsoft 的符号服务器获取符号。如果您在调试时无法访问互联网,您可以下载符号。有关详细信息,请参阅 WinDbg 帮助。
    【解决方案2】:

    我认为您的问题没有简单的答案,因为有很多不同的场景。

    不过,我可以为您提供一些基本流程,但您肯定需要查看书籍或网站以查找更多信息。

    首先,如果您有该应用程序的 pdb 文件和源代码,请尝试加载它们并将它们指向您的源代码。 拥有它们后,尝试通过键入“lm”来查看所有已加载的模块,如果您没有看到您的模块,您可以通过键入“.reload /f your-module.exe”来加载它

    其次,在 windbg 中加载故障转储后尝试“analyze -v”命令。

    如果配置正确,windbg 可能会指出它面临崩溃的确切源代码行。

    最后,当您配置符号时,请同时添加 Microsoft 符号服务器以简化您的调试会话。

    有很多书籍和网站可以提供帮助,但我认为 codeproject 教程系列非常好。

    这是第一个系列。 http://www.codeproject.com/KB/debug/cdbntsd.aspx

    【讨论】:

      【解决方案3】:

      我认为您可能想购买 Advanced Windows Debugging。网络上几乎没有任何东西足以让您很好地学习这一点。

      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/

      其他一些资源

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多