在VisualStudioC++ 2010中找不到或打开PDB文件

在VisualStudioC++ 2010中找不到或打开PDB文件,c++,visual-studio-2010,pdb-files,C++,Visual Studio 2010,Pdb Files,我使用VisualStudio 2010 C++,我的项目没有错误,但是当我运行它时,我得到了这个。我使用的是Windows XP 'Shaders.exe': Loaded 'C:\Documents and Settings\User\My Documents\Visual Studio 2010\Projects\Shaders\Win32\Debug\Shaders.exe', Symbols loaded. 'Shaders.exe': Loaded 'C:\WINDOW

我使用VisualStudio 2010 C++,我的项目没有错误,但是当我运行它时,我得到了这个。我使用的是Windows XP

'Shaders.exe': Loaded 'C:\Documents and Settings\User\My Documents\Visual Studio        2010\Projects\Shaders\Win32\Debug\Shaders.exe', Symbols loaded.
'Shaders.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', Cannot find or open the PDB  file
'Shaders.exe': Loaded 'C:\qt-everywhere-opensource-src-4.8.3\bin\QtCored4.dll', Symbols  loaded.
'Shaders.exe': Loaded 'C:\WINDOWS\system32\user32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\ole32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\secur32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\ws2_32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\ws2help.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\msvcp100d.dll', Symbols loaded.
'Shaders.exe': Loaded 'C:\WINDOWS\system32\msvcr100d.dll', Symbols loaded.
'Shaders.exe': Loaded 'C:\qt-everywhere-opensource-src-4.8.3\bin\QtGuid4.dll', Symbols loaded.
'Shaders.exe': Loaded 'C:\WINDOWS\system32\comdlg32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\comctl32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\shell32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\shlwapi.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\oleaut32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\imm32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\winmm.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\winspool.drv', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\qt-everywhere-opensource-src-4.8.3\bin\QtOpenGLd4.dll', Symbols loaded.

谢谢

PDB是Visual Studio使用的调试信息文件。这些是系统DLL,您没有调试符号。转到工具->选项->调试->符号并选中复选框Microsoft Symbol Server,Visual Studio将自动下载PDB。或者,如果不需要在这些模块中查看正确的调用堆栈,您可以忽略这些警告。

使用VS 2013。 尝试以下工具->选项->调试->输出窗口->模块加载消息->关闭


它将禁用已加载模块的显示。

如果项目映射中有多个项目,请在所有子项目中使用相同的硬编码路径文件PDB名称:

使用例如

D:\Visual Studio Projects\my_app\MyFile.pdb
不要使用

$(IntDir)\MyFile.pdb
在所有子项目中


=编译器参数/Fd

如果您没有在工具、选项、调试、符号中配置的符号缓存目录上的修改权限,也可能发生这种情况。

您只需将.pdb的路径添加到VS的工作目录

保罗的回答是对的,我只是把视觉放在容易到达的地方

转到工具->选项->调试->符号

设置标记为红色的复选框,它将从microsoft下载pdb文件。当您设置该复选框时,它还将在下的编辑框中为pdb文件设置默认路径,您无需更改该路径


我遇到了一个类似的问题,Visual Studio 2017表示找不到我的项目的PDB文件。我可以看到PDB文件确实存在于正确的路径中。我必须清理并重建项目,然后VisualStudio识别出PDB文件并进行调试

我遇到了与我尝试将opencv安装到VS12时相同的问题。似乎在加载符号,但当我重建时,没有任何变化。你知道为什么会发生这种事吗?这对我很有效,但只是部分。它无法加载与openCV相关的DLL的符号。同@Ege@Ruchir您需要在该对话框中指定OpenCV符号的路径。Microsoft Symbol服务器只有Microsoft DLL的符号。谢谢@Paul。我没有与OpenCV相关的PDB文件,而且似乎得到了它们。我必须使用cmake重新安装OpenCV。但不想重新安装OpenCV…\Users\%Username%\AppData\Local\Temp\SymbolCache\MicrosoftPublicSymbols是存储下载的MS符号的典型位置。在我的项目的50 MB D/L期间,沙漏模式中的VS10从未被任务管理器降级到一个不响应状态,但是,不确定这是否会解决您的问题,但是我的问题解决了我不能在虚拟C++ 2010 Express上发现或打开PDB文件问题。转到工具>选项>调试>本机并选中加载DLL导出请注意,自Visual Studio 2015起,此选项的位置已更改,它现在位于工具>选项>调试>常规>加载dll导出本机onlySee下:这是更好的解决方案,因为它删除了这些行,而不仅仅是修复PDB卸载的文件信息。向上投票。尝试这样做visual studio环境更改了其视觉环境:请注意,这不是解决方案,它只是避免了问题。@CaryBondoc取决于您对问题的看法。。。如果问题是输出中大量不相关的噪声容易丢失实际信息,那么这种方法更好,因为另一种方法只是通过替换无法找到或打开加载了符号的PDB文件来改变噪声的质量。如果输出是彩色编码的或者其他的,那就太好了。当然,这样做也有风险,当它以后变得重要时,会忘记它。这就是程序员的生活。如何避免得到这个窗口?当我在框架方法上按F11键时,我得到了这个恼人的窗口。按F11或F10时,我必须小心。请帮助什么是项目地图?截图非常有用!