加载转储文件; VS找不到我的源代码

时间:2011-08-09 13:27:40

标签: visual-studio-2010 debug-symbols minidump

我正在VS 2010中开发.NET 4.0应用程序。

我第一次尝试使用转储文件,但是当将minidump加载到VS中时,我无法调试它,因为VS找不到源文件。

这就是我的所作所为:

  • Options -> Debugging -> Symbols我添加了应用的构建目录,其中包含pdbs。
  • 在VS调试器中运行应用程序。已选择Debug -> Break All
  • 已选择Debug -> Save dump as
  • 转到Windows资源管理器中的转储文件并打开它。这打开了VS的新实例。
  • 我点击了“混合调试”。这打开了一个新标签,上面写着"There is no source code available for the current location

我试图找出为什么VS没有加载我的pdbs:

  • 已打开Debug -> Windows -> Modules
  • MyApp.exe的Symbol Status列说“已加载符号”。
  • 对于MyApp.vshost.exe,它说“无法找到或找到PDB文件”。
  • 右键单击MyApp.exe,选择“符号加载信息”。它说“MyApp.pdb:Symbols loaded。”
  • MyApp.vshost.exe也是如此。它说 vshost32.pdb:无法找到或打开PDB文件。(注意它是如何寻找名为vshost32.pdb而非MyApp.vshost.pdb的文件,出于某种原因)

那么,有什么想法吗?

1 个答案:

答案 0 :(得分:4)

解决了这个问题。 VS正在查看调用堆栈中最底层的方法,这是ntdll.dll中的某个系统方法。所以自然没有它的来源。我必须在Call Stack窗口中点击我自己的方法导航到我自己的代码,其源 可用。