从Visual Studio 2013 RC“无法找到或打开PDB文件”

时间:2013-11-19 21:21:58

标签: c# visual-studio pdb-files

首次使用C#,但我有使用Java的经验。

我写了一个Hello World程序来启动自己,但编译时我遇到了这个cannot find or open the PDB file错误。

'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'C:\Windows\assembly\GAC_64\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll'. Cannot find or open the PDB file.
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\12.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.dll'. Cannot find or open the PDB file.
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll'. Cannot find or open the PDB file.
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'C:\Windows\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll'. Cannot find or open the PDB file.
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll'. Cannot find or open the PDB file.
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities.Sync\12.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.Sync.dll'. Cannot find or open the PDB file.
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\12.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll'. 
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'c:\users\520\documents\visual studio 2013\Projects\ConsoleApplication4\ConsoleApplication4\bin\Debug\ConsoleApplication4.vshost.exe'. Cannot find or open the PDB file.
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'C:\Windows\assembly\GAC_64\System.Data\2.0.0.0__b77a5c561934e089\System.Data.dll'. Cannot find or open the PDB file.
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Xml\2.0.0.0__b77a5c561934e089\System.Xml.dll'. Cannot find or open the PDB file.
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Drawing.Design\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.Design.dll'. Cannot find or open the PDB file.
The thread 0xa14 has exited with code 259 (0x103).
The thread 0x235c has exited with code 259 (0x103).
'ConsoleApplication4.vshost.exe' (CLR v2.0.50727: ConsoleApplication4.vshost.exe): Loaded 'c:\users\520\documents\visual studio 2013\Projects\ConsoleApplication4\ConsoleApplication4\bin\Debug\ConsoleApplication4.exe'. Symbols loaded.
The thread 0x25b8 has exited with code 259 (0x103).
The thread 0x9d0 has exited with code 259 (0x103).
The program '[8756] ConsoleApplication4.vshost.exe' has exited with code 0 (0x0).
The program '[8756] ConsoleApplication4.vshost.exe: Program Trace' has exited with code 0 (0x0).

可能是什么问题?

2 个答案:

答案 0 :(得分:7)

最重要的是,可以加载自己代码的符号: ...ConsoleApplication4.exe'. Symbols loaded.

其余的缺失符号用于.NET系统的程序集(dll)。它们不是一直需要的,你可以在没有它们的情况下调试你的代码,但是如果你做了诸如消息传递之类的高级操作,你的大部分堆栈都将无法展开。

我更喜欢拥有尽可能多的系统pdbs(调试符号文件)。使用VS 2012进行设置非常简单,我认为VS 2013同样简单甚至更好。 http://msdn.microsoft.com/en-us/library/b8ttk8zy%28v=vs.90%29.aspx

请注意,在设置符号下载后,您将在第一次调试代码时遇到重大延迟。这是符号下载发生的时候。一旦完成启动调试将再次快速(因为只有在.NET系统获得一些影响您的程序集的更新时才需要新符号。)

我也安装"Debugging Tools for Windows xy""Windows xy SDK"(其中xy = 7,8,8.1加上架构也很重要:X64或32),即使我只调试托管(这是程序的术语)用.NET编写的垃圾收集和处理语言代码。 http://msdn.microsoft.com/en-us/library/windows/hardware/ff551063%28v=vs.85%29.aspx

您可能无法获得符号的一个装配是ConsoleApplication4.vshost.exe。这是Visual Studio调试器用于启动程序的存根。您可以在Process Explorer(Sysinternals工具套件)中看到它,有时会有更多实例挥之不去。

答案 1 :(得分:0)

当我收到此消息时,是因为在打开项目时,我单击了“ C#控制台应用程序.NET CORE”而不是“ C#.Net Framework”。您可以复制程序,使用.Net Framework打开一个新项目,然后粘贴复制的程序。如果您调试了程序,我应该会完美。它对我有用。