关于Cannot find or open the PDB file ntdll.dll gdi32.dll user32.dll 的解决办法

来源:互联网 发布:陈翔六点半 知乎 编辑:程序博客网 时间:2024/05/21 19:34

如果用VS2010编译工程时出现以下问题:

'M5DApp.exe': Loaded 'C:\Windows\System32\ntdll.dll', Cannot find or open the PDB file'M5DApp.exe': Loaded 'C:\Windows\System32\kernel32.dll', Cannot find or open the PDB file'M5DApp.exe': Loaded 'C:\Windows\System32\KernelBase.dll', Cannot find or open the PDB file'M5DApp.exe': Loaded 'C:\Windows\System32\user32.dll', Cannot find or open the PDB file'M5DApp.exe': Loaded 'C:\Windows\System32\gdi32.dll', Cannot find or open the PDB file'M5DApp.exe': Loaded 'C:\Windows\System32\lpk.dll', Cannot find or open the PDB file'M5DApp.exe': Loaded 'C:\Windows\System32\usp10.dll', Cannot find or open the PDB file'M5DApp.exe': Loaded 'C:\Windows\System32\msvcrt.dll', Cannot find or open the PDB file'M5DApp.exe': Loaded 'C:\Windows\System32\msvcr100d.dll', Symbols loaded.'M5DApp.exe': Loaded 'C:\Windows\System32\imm32.dll', Cannot find or open the PDB file'M5DApp.exe': Loaded 'C:\Windows\System32\msctf.dll', Cannot find or open the PDB file'M5DApp.exe': Loaded 'C:\Windows\System32\uxtheme.dll', Cannot find or open the PDB file'M5DApp.exe': Loaded 'C:\Windows\System32\dwmapi.dll', Cannot find or open the PDB file'M5DApp.exe': Loaded 'C:\Windows\System32\advapi32.dll', Cannot find or open the PDB file'M5DApp.exe': Loaded 'C:\Windows\System32\sechost.dll', Cannot find or open the PDB file'M5DApp.exe': Loaded 'C:\Windows\System32\rpcrt4.dll', Cannot find or open the PDB file'M5DApp.exe': Loaded 'C:\Windows\System32\ole32.dll', Cannot find or open the PDB file'M5DApp.exe': Loaded 'C:\Windows\System32\cryptbase.dll', Cannot find or open the PDB file'M5DApp.exe': Loaded 'C:\Windows\System32\clbcatq.dll', Cannot find or open the PDB file'M5DApp.exe': Loaded 'C:\Windows\System32\oleaut32.dll', Cannot find or open the PDB fileThe program '[1700] M5DApp.exe: Native' has exited with code 0 (0x0).


网上资源整理如下:

解决方法一(已验证可用):VS2010:工具--》选项--》》调试--》符号,选择Microsoft,然后确认

 接着随便编译一个程序,过程会灰常的慢。  看到此目录下符号缓存了吗?C:\Users\XXX\AppData\Local\Temp\SymbolCache 找到这个目录拷贝出来,找个地方存放。接下来就是去掉Microsoft符号服务器,要是不去,每次都要从Microsoft下载很麻烦,已经缓存了,我们就可以利用好这些缓存。


解决方法二(未测试):

1. Ctrl + F5运行就可以了(最好的解决方案)

2. 在cmd命令行下执行程序。
3. 把"Microsoft Symbol Servers"勾上(Tools -> Options -> Debugging -> Symbols).
4. http://blog.163.com/chenpeijie0_0/blog/static/1830945712011780275118
原因:程序输出的地方是系统而不是vs2012

5.Debug->Options and Settings->The left to check: Enable Source server support->Symbols->the left to check: Microsoft Symbol Servers->Runing(F5)->OK

注:解决方案还有就是在每个main函数结束的时候即return 0之前加上 system("pause");

0 0