webentwicklung-frage-antwort-db.com.de

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

Ich versuche OpenCV in VS 2010 zu verwenden. Ich bin Amateur und lerne erste Schritte aus dem OpenCV-Wiki. Beim Versuch, mein Projekt zu debuggen, werden folgende Fehler angezeigt:

'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. Warum kann ich sie nicht öffnen? Was muss ich tun, um das Problem zu beheben?

Ändern Sie zuerst die folgenden Parameter:

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

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

123
seanlitow

Ich bin mir ziemlich sicher, dass dies Warnungen sind, keine Fehler. Ihr Projekt sollte trotzdem gut laufen.

Da Sie jedoch immer versuchen sollten, Compiler-Warnungen zu korrigieren, sollten Sie sehen, was wir entdecken können. Ich bin mit OpenCV überhaupt nicht vertraut, und Sie verknüpfen nicht das Wiki-Tutorial, dem Sie folgen. Mir scheint jedoch, dass das Problem darin besteht, dass Sie eine 64-Bit-Version von Windows ausführen (wie der Ordner "SysWOW64" im Pfad zu den DLL -Dateien) belegt, aber die OpenCV-Dateien, die Sie verwenden. Der Versuch ist für eine 32-Bit-Plattform ausgelegt. Möglicherweise müssen Sie das Projekt mit CMake neu erstellen, wie hier .

Bei den aufgeführten Dateien handelt es sich insbesondere um Windows-Systemdateien. PDB-Dateien enthalten Debugging-Informationen, mit denen Sie in Visual Studio in kompilierten Code springen und diesen debuggen können. Sie benötigen die PDB-Dateien für Systembibliotheken nicht, um eigenen Code debuggen zu können. Wenn Sie möchten, können Sie die Symbole auch für die Systembibliotheken herunterladen. Gehen Sie zum Menü "Debug", klicken Sie auf "Optionen und Einstellungen" und scrollen Sie im Listenfeld auf der rechten Seite nach unten, bis "Unterstützung für Quellserver" angezeigt wird. Stellen Sie sicher, dass diese Option aktiviert ist ..__ Klicken Sie anschließend 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 es dann erneut.

19
Cody Gray

Visual Studio Community Edition 2015

Diesen Fehler den ganzen Tag gehabt. Ich habe es schließlich behoben, indem Sie auf Extras> Import- und Exporteinstellungen> Alle Optionen zurücksetzen> Allgemeine Einstellungen zurücksetzen gehen.

Nach dem Zurücksetzen gehen Sie zu "Extras"> "Optionen"> "Debugging"> "Symbole". - Aktivieren Sie das Kontrollkästchen neben "Microsoft Symbol Server".

Führen Sie Ihre App im Debug-Modus aus, und es wird ein Fenster mit der Meldung angezeigt, dass sie Symbole für eine Reihe verschiedener DLL-Dateien herunterlädt. Lass es damit fertig sein.

Sobald es fertig ist, sollte es wieder funktionieren.

8
Nobody

Ich hatte das gleiche Problem. Es stellt sich heraus, dass ich beim Kompilieren eines Projekts, das ich von einer anderen Person erhalten habe, nicht das richtige StartUp-Projekt festgelegt habe (klicken Sie im Lösungs-Explorer mit der rechten Maustaste auf das gewünschte Startprojekt und wählen Sie "Als Startup-Projekt festlegen"). Vielleicht hilft das, Prost.

3

Für VS2013 Benutzer, die sich wie ich hier finden:

Tools -> Options -> Debugging -> Symbols

Sie sehen, dass das Feld Cache symbols in this directory: leer ist. Sie können den Pfad entweder selbst durchsuchen/eingeben oder einfach fortfahren und auf die Schaltfläche Load all symbols klicken. Es erscheint ein Warnfenster mit der Meldung "Da Sie kein Symbol-Cache-Verzeichnis ausgewählt haben, wird der Standard verwendet". Sie sehen jetzt C:\Users\XXXX\AppData\Local\Temp\SymbolCache im zuvor leeren Pfadfeld. Klicken Sie ein zweites Mal auf Load all symbols und Sie sollten eingestellt sein. Klicken Sie auf "OK". Reinigen Sie Ihre Lösung und bauen Sie sie einfach neu auf.

2
ahall

In Bezug auf den ersten Thread/eine andere Möglichkeit, dass VS die pdb-Datei nicht öffnen oder suchen kann, ist, wenn Sie Ihre ausführbare Datei im Hintergrund ausführen. Ich habe mit mpiexec gearbeitet und bin auf dieses Problem gestoßen. Überprüfen Sie immer Ihren Task-Manager und beenden Sie alle Exec-Prozesse, die Sie in Ihrem Projekt erstellen. Nachdem ich das getan hatte, debuggte oder baute es gut. 

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

1
Mpi

Ich bin auf die gleiche Ausgabe gestoßen. Beim Ausführen des Unit-Tests mit C++ - Code wurde eine Fehlermeldung angezeigt, dass die PDB-Datei nicht gefunden oder geöffnet werden konnte.

Protokolle

Beim Betrachten des Ausgabeprotokolls in Visual Studio habe ich festgestellt, 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 denke, sie haben es hart codiert.

Das Problem gefunden

Als ich die WinUnit-Dateien zum ersten Mal heruntergeladen und entpackt hatte, hieß der Hauptordner "WinUnit-1.2.0909.1". Nachdem ich die Datei entpackt habe, habe ich den Ordner in "WinUnit" umbenannt, da er während der Visual Studio-Projekteinrichtung einfacher einzugeben ist. Aber anscheinend brach dies die Möglichkeit, die PDB-Datei zu finden, obwohl ich alles gemäß der WinUnit-Dokumentation einrichte.

Mein Fix

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

Seltsam.

0
user2384458

Ich habe die gleichen Warnungen. Ich bin nicht sicher, ob es sich um 32 oder 64 Bit handelt. Gerade wurden die neuen Symbole geladen und einige Probleme wurden gelöst, aber die Probleme mit OpenCV bleiben bestehen. Dies ist ein Auszug der Ausgabe mit gelöstem oder ungelöstem Problem:

'OpenCV_helloworld.exe': Geladen 'C:\OpenCV2.2\bin\opencv_imgproc220d.dll', Der 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 mit 0 beendet, falls jemand fragt.

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

0
sparaflAsh

Ich habe festgestellt, dass diese Fehler beim Kompilieren eines Projekts manchmal auf fehlende Berechtigungen zurückzuführen sind. Ich arbeite daher als Administrator, damit es ordnungsgemäß funktioniert.

0
SinisterRainbow

Hatte hier das gleiche Problem aber eine andere Lösung funktioniert.

Zuerst habe ich Folgendes ausprobiert, von denen keines funktionierte:

  1. Laden Sie die Symbole wie von seanlitow vorgeschlagen

  2. Entfernen/Hinzufügen eines Verweises auf PresentationFramework und PresentationCore

  3. Starten Sie das System neu

Die Lösung war rückgängig machen die letzten paar Änderungen, die ich an meinem Code vorgenommen hatte. Ich hatte gerade ein paar Optionsfelder und Ereignishandler für aktivierte und deaktivierte Ereignisse hinzugefügt. Nach dem Entfernen meiner letzten Änderungen wurde alles kompiliert. Ich habe dann meine genauen Änderungen wieder eingefügt und alles richtig kompiliert. Ich verstehe nicht, warum dies funktioniert hat - mir fällt nur ein Problem mit meiner VS-Lösung ein. Wenn jedoch keiner der anderen Vorschläge funktioniert, können Sie versuchen, die letzten Änderungen zurückzusetzen. HINWEIS: Wenn Sie Visual Studio schließen und erneut öffnen, geht Ihr Rückgängig-Verlauf verloren. Sie können dies also versuchen, bevor Sie VS schließen.

0
Thomas Bailey

Ich hatte das gleiche Problem. Das Debuggen funktioniert nicht mit dem Inhalt der OpenCV-Programmdatei. Sie müssen Ihre eigenen Binärdateien erstellen.
.__ Aktivieren Sie dann Microsoft Symbol Server unter Debug-> Optionen und Einstellungen-> Debug-> Symbole

0
john ktejik