2011-08-09 36 views
4

我正在VS 2010中开发一个.NET 4.0应用程序。加载转储文件; VS没有找到我的源代码

我想第一次使用dump文件,但是当将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:符号已加载”。
  • 对MyApp.vshost.exe的做法是否一样。它说vshost32.pdb:无法找到或打开PDB文件。(注意它是如何寻找一个名为vshost32.pdb而不是MyApp.vshost.pdb文件,因为某些原因)

因此,任何想法?

回答

3

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

+0

在Option-> Debugging-> Symbols中添加build director解决了我的无源代码可用的问题! – Gob00st