No se puede encontrar o abrir el archivo PDB en Visual Studio C ++ 2010

117

Utilizo Visual Studio 2010 C ++ y mi proyecto se compila sin errores, pero cuando lo ejecuto obtengo esto. Estoy en 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.

Gracias

usuario1723768
fuente
2
No estoy seguro de que esto resuelva su problema o no, pero mi problema resolvió mi Cannot find or open the PDB fileproblema en Virtual C ++ 2010 Express. Ir Tools > Options > Debugging > Nativey comprobarLoad DLL Exports
Ari
6
Tenga en cuenta que la ubicación de esta opción ha cambiado a partir de Visual Studio 2015, ahora está enTools > Options > Debugging > General > Load dll exports (Native only)
Remko Duursma

Respuestas:

245

PDB es un archivo de información de depuración utilizado por Visual Studio. Estos son archivos DLL del sistema, para los que no tiene símbolos de depuración. Vaya Tools->Options->Debugging->Symbolsy seleccione la casilla de verificación "Microsoft Symbol Servers", Visual Studio descargará los PDB automáticamente. O simplemente puede ignorar estas advertencias si no necesita ver la pila de llamadas correcta en estos módulos.

Pablo
fuente
1
Tengo el mismo problema que intentaba instalar opencv en VS12. Parecía cargar los símbolos, pero cuando reconstruyo no hay cambios. ¿Tiene otra idea de por qué está pasando esto?
Ege
A mí me funcionó, pero solo parcialmente. No puede cargar símbolos para las DLL relacionadas con openCV. Igual que @Ege
Ruchir
1
@Ruchir Necesita especificar rutas a los símbolos OpenCV en ese diálogo. Los servidores de símbolos de Microsoft solo tienen símbolos para las DLL de Microsoft.
Paul
Gracias @Paul. No tengo archivos PDB relacionados con OpenCV y parece que los obtengo. Tendré que reinstalar OpenCV usando cmake stackoverflow.com/a/19436870/5022962 . Aunque no quiero reinstalar OpenCV ...
Ruchir
El \Users\%Username%\AppData\Local\Temp\SymbolCache\MicrosoftPublicSymbolses el típico lugar donde se almacenan los símbolos MS descargados. Sin embargo, durante los 50 MB D / L de mi proyecto, el Administrador de tareas nunca relegó el VS10 en modo "reloj de arena" a un "estado de no respuesta".
Laurie Stearn
50

Trabajando con VS 2013.
Pruebe las siguientes herramientas -> Opciones -> Depuración -> Ventana de salida -> Mensajes de carga del módulo -> Desactivado

Deshabilitará la visualización de módulos cargados.

Luis Salazar
fuente
6
Esta es la mejor solución, ya que elimina estas líneas en lugar de simplemente arreglar la información de los archivos descargados de PDB. Voto a favor.
Al intentar hacer esto, el entorno del estudio visual cambió su entorno visual :(
Alexander Leon VI
9
Tenga en cuenta que esta no es la solución, simplemente evita el problema.
Cary Bondoc
3
@CaryBondoc depende de cómo veas el problema ... si el problema es que una gran cantidad de ruido irrelevante en la salida puede hacer que sea fácil perder información real, entonces este método es mejor, ya que el otro método solo cambia la calidad del ruido reemplazando Cannot find or open the PDB filecon Symbols loaded. Sería bueno si la salida estuviera codificada por colores o algo así. Por supuesto, también existe el riesgo de hacer esto y olvidarlo cuando luego se vuelva importante. Así es la vida de un programador.
PeterT
¿Cómo evitar esta ventana? Cuando presiono F11 en el método de marco, aparece esta ventana molesta. Tengo que tener cuidado al presionar F11 o presionar F10. por favor ayuda
M.kazem Akhgary
33

La respuesta de Paul es correcta, solo estoy poniendo lo visual para llegar fácilmente.

Vaya a Herramientas-> Opciones-> Depuración-> Símbolos

Establezca la casilla de verificación marcada en rojo y descargará los archivos pdb de microsoft. Cuando establezca la casilla de verificación, también establecerá una ruta predeterminada para los archivos pdb en el cuadro de edición debajo, no necesita cambiar eso.

ingrese la descripción de la imagen aquí

zar
fuente
3
¡La captura de pantalla es realmente útil!
strarsis
4

Si tiene más como un Proyecto en su Mapa de Proyecto, use EL MISMO Nombre PDB de PathFile codificado en todos sus Subproyectos:

Utilice por ejemplo

D:\Visual Studio Projects\my_app\MyFile.pdb

No utilice por ejemplo

$(IntDir)\MyFile.pdb

en todos los Subproyectos !!!

= Compilador Param / Fd

Ingo
fuente
¿Qué es el "Mapa del proyecto"?
Wakan Tanka
0

Esto también puede suceder si no tiene permisos de modificación en el directorio de caché de símbolos configurado en Herramientas, Opciones, Depuración, Símbolos.

EM0
fuente
0

Me encontré con un problema similar en el que Visual Studio (2017) dijo que no podía encontrar el archivo PDB de mi proyecto. Pude ver que el archivo PDB existía en la ruta correcta. Tuve que limpiar y reconstruir el proyecto, luego Visual Studio reconoció el archivo PDB y la depuración funcionó.

jsl4980
fuente
-1

¡simplemente agrega la ruta de .pdb al directorio de trabajo de VS!

Rico
fuente