【问题标题】:Opening minidump file (*.dmp) not possible in Visual Studio.NET 2005?在 Visual Studio.NET 2005 中无法打开 minidump 文件 (*.dmp)?
【发布时间】:2008-12-14 16:57:00
【问题描述】:

我使用 win32 api 创建了一个小型转储 [DllImport("DbgHelp.dll", SetLastError = true)] private static extern bool MiniDumpWriteDump(

dmp 文件创建成功。

我正在尝试在另一个 Visual Studio 实例中打开此 *.dmp 文件以定位崩溃的位置,

在visual studio --> FILE-->打开项目dmp文件选项不可用。

我在文件打开菜单中选择了所有文件,然后打开了 dmp 文件。但我无法调试,

知道为什么我在 Visual Studio 中的转储文件选项被禁用。

我知道我可以使用 windbg 和其他工具,我可以轻松使用 Visual Studio,因为它可供我使用。

【问题讨论】:

    标签: visual-studio minidump


    【解决方案1】:

    我不是 100% 确定。但是,我认为即使您在 VisualStudio 中打开它,VS 也不支持 WinDbg 用于分析 dmp 的一半命令。所以,我会坚持使用 WinDbg。 WinDbg 是免费下载的......所以你也可以使用它。它不是最容易使用的,我总是要打开帮助才能找到我想要的命令,但它确实做得很好。

    在此处下载 32 位:
    http://www.microsoft.com/whdc/devtools/debugging/installx86.Mspx

    【讨论】:

    • WinDbg 在查看故障转储方面确实非常出色,尽管学习曲线更像一堵垂直墙
    【解决方案2】:

    听起来你打开转储是正确的。

    这是 Visual Studio 帮助文件中的内容:

    "打开转储文件 在“文件”菜单上,单击“打开”,然后单击“项目”。

    在“打开项目”对话框中,找到并选择转储文件。

    它通常具有 .dmp 扩展名。

    点击确定。

    要查找用于调试故障转储的二进制文件,Visual Studio 2005 会查找符号搜索路径。要确保 Visual Studio 2005 找到二进制文件,您可以在“选项”对话框或“模块”窗口中添加符号搜索路径。有关详细信息,请参阅如何:指定符号路径。"

    你自己说,

    "...并打开了 dmp 文件。但我无法调试"

    所以你在 Visual Studio 中打开转储文件正常,但你的意思是,“我无法调试?”

    如果您看不到源代码,那是因为 Visual Studio 不知道它在哪里。按照说明设置符号搜索路径。

    如果您无法单步执行您的代码,那是因为您无法使用小型转储执行此操作。产生 minidump 的进程已经消失,无法继续执行。

    如果您无法检查调用堆栈或变量内容,那是因为 Visual Studio 找不到包含调试信息的 .pdb 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-09
      • 2012-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-11
      相关资源
      最近更新 更多