Frage Warum kann Visual Studio 2010 PDB-Dateien nicht finden / öffnen?


Ich versuche, OpenCV in VS 2010 zu verwenden. Ich bin ein Amateur, und ich lerne erste Schritte vom OpenCV Wiki. Wenn ich versuche, mein Projekt zu debuggen, erhalte ich folgende Fehler:

'C: \ Windows \ SysWOW64 \ ntdll.dll', kann die PDB-Datei nicht finden oder öffnen   'C: \ Windows \ SysWOW64 \ kernel32.dll', kann die PDB-Datei nicht finden oder öffnen   'C: \ Windows \ SysWOW64 \ kernellbase.dll', kann die PDB-Datei nicht finden oder öffnen

Ich habe diese Dateien im richtigen Verzeichnis, also warum kann sie nicht geöffnet werden? Was soll ich tun, um das Problem zu beheben?


76
2018-01-27 08:03


Ursprung


Antworten:


Ändern Sie zuerst die folgenden Parameter:

Extras -> Optionen -> Debugging -> Symbole -> Server -> Ja

Dann drücken Strg+F5 und du wirst erstaunliche Dinge sehen.


118
2017-11-15 15:12



Ich bin mir ziemlich sicher, dass das so ist Warnungenkeine Fehler. Ihr Projekt sollte trotzdem gut laufen.

Da Sie jedoch immer versuchen sollten, Compiler-Warnungen zu beheben, sehen wir, was wir entdecken können. Ich bin mit OpenCV überhaupt nicht vertraut und verlinke nicht mit dem Wiki-Tutorial, dem du folgst. Aber es sieht für mich so aus, als ob das Problem darin besteht, dass Sie eine 64-Bit-Version von Windows ausführen (wie durch den Ordner "SysWOW64" im Pfad zu den DLL-Dateien belegt), aber das OpenCV-Zeug, das Sie versuchen zu bauen für eine 32-Bit-Plattform. Daher müssen Sie das Projekt möglicherweise mit CMake neu erstellen, wie erläutert Hier.

Genauer gesagt sind die aufgelisteten Dateien Windows-Systemdateien. PDB-Dateien enthalten Debuginformationen, die von Visual Studio verwendet werden, damit Sie in den kompilierten Code einsteigen und ihn debuggen können. Sie benötigen die PDB-Dateien nicht, damit Systembibliotheken Ihren eigenen Code debuggen können. Aber wenn du willst, kannst du es Lade die Symbole herunter auch für die Systembibliotheken. Gehen Sie zum "Debug" -Menü, klicken Sie auf "Optionen und Einstellungen", und scrollen Sie das Listenfeld auf der rechten Seite nach unten, bis Sie "Quellserver-Unterstützung aktivieren" sehen. Stellen Sie sicher, dass diese Option aktiviert ist. Klicken Sie dann in der Baumansicht links auf "Symbole" und stellen Sie sicher, dass die Option "Microsoft Symbol Servers" ausgewählt ist. Klicken Sie auf OK, um das Dialogfeld zu schließen, und versuchen Sie dann erneut zu erstellen.


20
2018-01-27 08:33



Visual Studio Community Edition 2015

Ich hatte diesen Fehler den ganzen Tag. Ich habe es schließlich behoben, indem ich auf Extras> Einstellungen importieren und exportieren> Alle Optionen zurücksetzen> Allgemeine Einstellungen zurücksetzen zurücksetze.

Sobald es zurückgesetzt wurde, gehen Sie zu Extras> Optionen> Debugging> Symbole> - Aktivieren Sie dann das Kontrollkästchen neben Microsoft Symbol Servers.

Führen Sie Ihre App im Debug-Modus aus, und es öffnet sich Fenster, die sagen, dass es Symbole für eine Reihe von verschiedenen DLL-Dateien herunterlädt. Lass es damit enden.

Sobald es abgeschlossen ist, sollte es wieder funktionieren.


7
2018-04-02 17:33



Ich hatte das gleiche Problem. Es stellt sich heraus, dass ich beim Kompilieren eines Projekts, das ich von jemand anderem bekommen habe, nicht das richtige StartUp-Projekt eingestellt habe (Rechtsklick auf das gewünschte Startprojekt im Solution Explorer und Auswahl von "Als StartUp-Projekt festlegen"). Vielleicht wird das helfen, Prost.


3
2018-02-21 12:51



Zum VS2013Benutzer, die sich hier wie ich befinden:

Tools -> Options -> Debugging -> Symbols

Du wirst sehen, dass die Cache symbols in this directory: das Feld ist leer; Sie können den Pfad entweder selbst durchsuchen / eingeben oder einfach weitergehen und auf die Schaltfläche klicken Load all symbols Taste. Es erscheint ein Warnfenster mit der Meldung "Da Sie kein Symbol-Cache-Verzeichnis ausgewählt haben, wird der Standard verwendet". Du wirst jetzt sehen C:\Users\XXXX\AppData\Local\Temp\SymbolCache im vorher leeren Pfadfeld. Klicken Load all symbols ein zweites Mal und du solltest eingestellt sein. Hit ok, und nur um der Sorgfalt willen, reinigen Sie und erstellen Sie Ihre Lösung neu.


2
2018-06-01 17:05



Bezug nehmend auf den ersten Thread / eine andere Möglichkeit VS öffnen oder finden Sie die pdb-Datei des Prozesses ist, wenn Sie Ihre ausführbare Datei im Hintergrund ausgeführt haben. Ich habe mit mpiexec gearbeitet und bin auf dieses Problem gestoßen. Überprüfen Sie immer Ihren Task-Manager und beenden Sie jeden Exec-Prozess, den Sie in Ihrem Projekt erstellen. Sobald ich das getan habe, hat es debugged oder gut gebaut.

Wenn Sie versuchen, mit der Warnung fortzufahren, werden die Haltepunkte nicht getroffen und die aktuelle ausführbare Datei wird nicht angezeigt


1
2017-07-12 22:49



Ich habe festgestellt, dass diese Fehler manchmal auf mangelnde Berechtigungen beim Kompilieren eines Projekts zurückzuführen sind. Daher werde ich als Administrator ausgeführt, damit es ordnungsgemäß funktioniert.


0
2018-03-31 15:27



Ich habe die gleichen Warnungen. Ich bin mir nicht sicher, dass es sich um 32 vs 64 Bits handelt. Ich habe einfach die neuen Symbole geladen und einige Probleme wurden gelöst, aber die OpenCVs bleiben bestehen. Dies ist ein Auszug der Ausgabe mit gelöstem vs. ungelöstem Problem:

'OpenCV_helloworld.exe': Geladen   'C: \ OpenCV2.2 \ bin \ opencv_imgproc220d.dll', PDB kann nicht gefunden oder geöffnet werden   Datei

'OpenCV_helloworld.exe': Geladen 'C: \ WINDOWS \ system32 \ imm32.dll',   Symbole geladen (Quellinformationen entfernt).

Der Code wird 0 verlassen, falls jemand fragt.

Das Programm '[4424] OpenCV_helloworld.exe: Native' wurde mit beendet   Code 0 (0x0).


0
2018-06-25 09:32



Ich hatte das gleiche Problem. Das Debuggen funktioniert nicht mit dem Zeug, das mit der ausführbaren OpenCV-Datei geliefert wird. Sie müssen Ihre eigenen Binärdateien erstellen.
Aktivieren Sie dann Microsoft Symbol Server in Debug-> Optionen und Einstellungen-> Debug-> Symbole


0
2017-12-25 15:58



Ich bin auf dasselbe Problem gestoßen. Als ich meinen Komponententest auf C ++ - Code ausgeführt habe, wurde ein Fehler angezeigt, der besagt, dass die PDB-Datei nicht gefunden oder geöffnet werden kann.

Protokolle

Als ich das Ausgabeprotokoll in Visual Studio betrachtete, sah ich, dass es im falschen Ordner gesucht wurde. Ich hatte den WinUnit-Ordner umbenannt, aber etwas im WinUnit-Code suchte nach der PDB-Datei mit dem alten Ordnernamen. Ich schätze, sie haben es hart codiert.

Ich habe das Problem gefunden

Als ich die WinUnit-Dateien zum ersten Mal heruntergeladen und entpackt habe, hieß der Hauptordner "WinUnit-1.2.0909.1". Nachdem ich die Datei entpackt habe, habe ich den Ordner in "WinUnit" umbenannt, da es einfacher ist, während der Einrichtung des Visual Studio-Projekts zu tippen. Aber anscheinend hat das die Fähigkeit, die PDB-Datei zu finden, kaputt gemacht, obwohl ich alles entsprechend der WinUnit-Dokumentation eingerichtet habe.

Meine Verlegenheit

Ich habe den Ordnernamen wieder auf das Original geändert und es funktioniert.

Seltsam.


0
2018-05-15 05:55