Die PDB-Datei kann in Visual Studio C ++ 2010 nicht gefunden oder geöffnet werden

117

Ich verwende Visual Studio 2010 C ++ und mein Projekt wird fehlerfrei erstellt, aber wenn ich es ausführe, erhalte ich dies. Ich bin unter 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.

Vielen Dank

user1723768
quelle
2
Ich bin nicht sicher, ob dies Ihr Problem lösen wird oder nicht, aber mein Problem hat mein Cannot find or open the PDB fileProblem in Virtual C ++ 2010 Express gelöst . Gehen Sie zu Tools > Options > Debugging > Nativeund überprüfen SieLoad DLL Exports
Ari
6
Bitte beachten Sie, dass sich der Speicherort dieser Option seit Visual Studio 2015 geändert hat. Sie befindet sich jetzt unterTools > Options > Debugging > General > Load dll exports (Native only)
Remko Duursma

Antworten:

245

PDB ist eine Debug-Informationsdatei, die von Visual Studio verwendet wird. Dies sind System-DLLs, für die Sie keine Debug-Symbole haben. Gehen Sie zu Tools->Options->Debugging->Symbolsund aktivieren Sie das Kontrollkästchen "Microsoft Symbol Server". Visual Studio lädt PDBs automatisch herunter. Oder Sie ignorieren diese Warnungen einfach, wenn Sie in diesen Modulen nicht den richtigen Aufrufstapel sehen müssen.

Paul
quelle
1
Ich habe das gleiche Problem, bei dem ich versucht habe, opencv auf VS12 zu installieren. Es schien, als würde ich die Symbole laden, aber wenn ich sie wieder aufbaue, ändert sich nichts. Haben Sie eine andere Idee, warum dies geschieht?
Ege
Es hat bei mir aber nur teilweise funktioniert. Es können keine Symbole für die DLLs geladen werden, die sich auf openCV beziehen. Gleich wie @Ege
Ruchir
1
@Ruchir In diesem Dialogfeld müssen Sie Pfade zu OpenCV-Symbolen angeben. Microsoft Symbol Server haben nur Symbole für Microsoft DLLs.
Paul
Danke @Paul. Ich habe keine OpenCV-bezogenen PDB-Dateien und es scheint, als würde ich sie bekommen. Ich muss OpenCV mit cmake stackoverflow.com/a/19436870/5022962 neu installieren . Ich möchte OpenCV aber nicht neu installieren ...
Ruchir
Dies \Users\%Username%\AppData\Local\Temp\SymbolCache\MicrosoftPublicSymbolsist der typische Ort, an dem die heruntergeladenen MS-Symbole gespeichert werden. Während der 50 MB D / L für mein Projekt wurde VS10 im "Sanduhr" -Modus vom Task-Manager jedoch nie in einen "nicht reagierenden Status" versetzt.
Laurie Stearn
50

Arbeiten mit VS 2013.
Probieren Sie die folgenden Tools -> Optionen -> Debugging -> Ausgabefenster -> Meldungen zum Laden von Modulen -> Aus aus

Dadurch wird die Anzeige der geladenen Module deaktiviert.

Luis Salazar
quelle
6
Dies ist die bessere Lösung, da diese Zeilen entfernt werden, anstatt nur die Informationen zu entladenen PDB-Dateien zu korrigieren. Upvoted.
Bei diesem Versuch änderte die visuelle Studioumgebung ihre visuelle Umgebung :(
Alexander Leon VI
9
Beachten Sie, dass dies nicht die Lösung ist, sondern nur das Problem vermeidet.
Cary Bondoc
3
@CaryBondoc hängt davon ab, wie Sie das Problem sehen ... Wenn das Problem darin besteht, dass viele irrelevante Störungen in der Ausgabe dazu führen können, dass tatsächliche Informationen leicht übersehen werden, ist diese Methode besser, da die andere Methode nur die Qualität der ändert Lärm durch Ersetzen Cannot find or open the PDB filedurch Symbols loaded. Es wäre schön, wenn die Ausgabe farbcodiert wäre oder so. Natürlich besteht auch das Risiko, dies zu tun und es zu vergessen, wenn es später wichtig wird. So ist das Leben eines Programmierers.
PeterT
Wie vermeide ich es, dieses Fenster zu bekommen? Wenn ich bei der Framework-Methode F11 drücke, wird dieses nervige Fenster angezeigt. Ich muss vorsichtig sein, wenn ich F11 oder F10 drücke. Bitte helfen Sie
M. Kazem Akhgary 17.
33

Die Antwort von Paul ist richtig, ich setze nur das Visuelle ein, um leicht dorthin zu gelangen.

Gehen Sie zu Extras-> Optionen-> Debugging-> Symbole

Wenn Sie das rot markierte Kontrollkästchen aktivieren, werden die PDF-Dateien von Microsoft heruntergeladen. Wenn Sie das Kontrollkästchen aktivieren, wird auch ein Standardpfad für die PDF-Dateien im Bearbeitungsfeld unter festgelegt. Dies müssen Sie nicht ändern.

Geben Sie hier die Bildbeschreibung ein

zar
quelle
3
Der Screenshot ist wirklich hilfreich!
Strarsis
4

Wenn Ihre Projektzuordnung mehr als ein Projekt enthält, verwenden Sie in all Ihren Unterprojekten den gleichen fest codierten PathFile-PDB-Namen:

Verwenden Sie z

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

Verwenden Sie zB nicht

$(IntDir)\MyFile.pdb

in allen Teilprojekten !!!

= Compiler Param / Fd

Ingo
quelle
Was ist "Projektkarte"?
Wakan Tanka
0

Dies kann auch passieren, wenn Sie keine Änderungsberechtigungen für das Symbol-Cache-Verzeichnis haben, das unter Extras , Optionen, Debugging, Symbole konfiguriert ist.

EM0
quelle
0

Ich bin auf ein ähnliches Problem gestoßen, bei dem Visual Studio (2017) sagte, die PDB-Datei meines Projekts könne nicht gefunden werden. Ich konnte sehen, dass die PDB-Datei im richtigen Pfad vorhanden war. Ich musste das Projekt bereinigen und neu erstellen, dann erkannte Visual Studio die PDB-Datei und das Debuggen funktionierte.

jsl4980
quelle
-1

Sie fügen einfach den Pfad von .pdb zum Arbeitsverzeichnis von VS hinzu!

Reich
quelle