在Visual Studio.NET 2005中无法打开minidump文件(* .dmp)?

时间:2008-12-14 16:57:00

标签: visual-studio minidump

我使用win32 api创建了一个minidump [DllImport(“DbgHelp.dll”,SetLastError = true)]         private static extern bool MiniDumpWriteDump(

dmp文件已成功创建。

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

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

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

任何想法为什么我的视觉工作室中的转储文件选项被禁用。

我知道我可以使用windbg和其他工具,我可以很容易地使用Visual Studio,因为它可供我使用。

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

听起来你正确地打开转储。

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

  

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

     

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

     

它通常会有.dmp扩展名。

     

单击“确定”。

     

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

你自己说,

  

“......并打开dmp文件。但我无法调试”

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

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

如果你不能通过你的代码,那是因为你不能用minidump做到这一点。产生minidump的过程已经消失,无法进一步执行。

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