Impossible de trouver ou d'ouvrir le fichier PDB dans Visual Studio C ++ 2010

117

J'utilise Visual Studio 2010 C ++ et mon projet se construit sans erreur, mais lorsque je l'exécute, j'obtiens cela. Je suis sous 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.

Merci

utilisateur1723768
la source
2
Je ne suis pas sûr que cela résoudra votre problème ou non, mais mon problème a résolu mon Cannot find or open the PDB fileproblème sur Virtual C ++ 2010 Express. Aller à Tools > Options > Debugging > Nativeet vérifierLoad DLL Exports
Ari
7
Veuillez noter que l'emplacement de cette option a changé à partir de Visual Studio 2015, il est maintenant sousTools > Options > Debugging > General > Load dll exports (Native only)
Remko Duursma

Réponses:

245

PDB est un fichier d'informations de débogage utilisé par Visual Studio. Ce sont des DLL système pour lesquelles vous n'avez pas de symboles de débogage. Allez Tools->Options->Debugging->Symbolset cochez la case "Microsoft Symbol Servers", Visual Studio téléchargera automatiquement les PDB. Ou vous pouvez simplement ignorer ces avertissements si vous n'avez pas besoin de voir la pile d'appels correcte dans ces modules.

Paul
la source
1
J'ai le même problème que j'essayais d'installer opencv sur VS12. Cela semblait charger les symboles mais quand je reconstruis, il n'y a pas de changement. Avez-vous une autre idée de pourquoi cela se produit?
Ege
Cela a fonctionné pour moi mais seulement partiellement. Il ne peut pas charger de symboles pour les dll liées à openCV. Identique à @Ege
Ruchir
1
@Ruchir Vous devez spécifier les chemins d'accès aux symboles OpenCV dans cette boîte de dialogue. Les serveurs de symboles Microsoft ont uniquement des symboles pour les DLL Microsoft.
Paul le
Merci @Paul. Je n'ai pas de fichiers PDB liés à OpenCV et il semble que je devrai réinstaller OpenCV en utilisant cmake stackoverflow.com/a/19436870/5022962 . Vous ne voulez pas réinstaller OpenCV bien ....
Ruchir
Le \Users\%Username%\AppData\Local\Temp\SymbolCache\MicrosoftPublicSymbolsest l'emplacement typique où les symboles MS téléchargés sont stockés. Au cours des 50 Mo D / L pour mon projet, VS10 en mode «sablier» n'a cependant jamais été relégué par le Gestionnaire des tâches à un «état de non-réponse».
Laurie Stearn
50

Travailler avec VS 2013.
Essayez les outils suivants -> Options -> Débogage -> Fenêtre de sortie -> Messages de chargement de module -> Désactivé

Cela désactivera l'affichage des modules chargés.

Luis Salazar
la source
6
C'est la meilleure solution car elle supprime ces lignes au lieu de simplement réparer les informations des fichiers déchargés PDB. J'ai voté pour.
En essayant de faire cela, l'environnement du studio visuel a changé son environnement visuel :(
Alexander Leon VI
9
Notez que ce n'est pas la solution, cela évite simplement le problème.
Cary Bondoc
3
@CaryBondoc dépend de ce que vous considérez comme étant le problème ... si le problème est que beaucoup de bruit non pertinent dans la sortie peut faciliter le manque d'informations réelles, alors cette méthode est meilleure, car l'autre méthode change simplement la qualité du bruit en remplaçant Cannot find or open the PDB filepar Symbols loaded. Ce serait bien si la sortie était codée par couleur ou quelque chose du genre. Bien sûr, il y a aussi le risque de faire cela et de l'oublier quand cela devient important plus tard. Telle est la vie d'un programmeur.
PeterT
Comment éviter d'avoir cette fenêtre? Lorsque j'appuie sur F11 sur la méthode du framework, j'obtiens cette fenêtre ennuyeuse. Je dois faire attention lorsque j'appuie sur F11 ou F10. s'il vous plaît aidez-vous
M.kazem Akhgary
33

La réponse de Paul a raison, je mets simplement le visuel pour y arriver facilement.

Allez dans Outils-> Options-> Débogage-> Symboles

Cochez la case marquée en rouge et il téléchargera les fichiers pdb à partir de Microsoft. Lorsque vous cochez la case, il définira également un chemin par défaut pour les fichiers pdb dans la zone d'édition sous, vous n'avez pas besoin de changer cela.

entrez la description de l'image ici

zar
la source
3
La capture d'écran est vraiment utile!
strarsis
4

Si vous avez plus d'un projet dans votre carte de projet, utilisez LE MÊME nom PathFile PDB codé en dur dans tous vos sous-projets:

Utilisez par exemple

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

Ne pas utiliser par exemple

$(IntDir)\MyFile.pdb

dans tous les sous-projets !!!

= Param / Fd du compilateur

Ingo
la source
qu'est-ce que la «carte du projet»?
Wakan Tanka
0

Cela peut également se produire si vous ne disposez pas des autorisations de modification sur le répertoire de cache de symboles configuré dans Outils, Options, Débogage, Symboles.

EM0
la source
0

J'ai rencontré un problème similaire où Visual Studio (2017) a déclaré qu'il ne pouvait pas trouver le fichier PDB de mon projet. Je pouvais voir que le fichier PDB existait dans le bon chemin. J'ai dû nettoyer et reconstruire le projet, puis Visual Studio a reconnu le fichier PDB et le débogage a fonctionné.

jsl4980
la source
-1

vous ajoutez simplement le chemin de .pdb au répertoire de travail de VS!

riches
la source