Ich möchte Debug-Symbole verwenden, erhalte jedoch die folgende Fehlermeldung:
In diesem Ordner wurde keine passende Symboldatei gefunden
Was ist dieses Problem und wie kann es gelöst werden?
c#
visual-studio
debugging
sɐunıɔ ןɐ qɐp
quelle
quelle
netcoreapp2.0
auf geändert hattenet4.7
. Ändern Sie jedoch ...-> Erweitert -> Ausgabe -> Debug-Informationen: vonportable
,full
um das Problem zu beheben. Vielen Dank!pdb
Datei auswähle, erhalte ich diesen berüchtigten Fehler.Ich hatte das gleiche Problem wie @DmainEvent. Anscheinend war die von mir verwendete DLL nicht dieselbe Version wie die gerade kompilierte PDF-Datei, daher wurde die Fehlermeldung angezeigt.
Wenn Sie dieses Problem haben, versuchen Sie, die DLL und die PDF-Datei aus demselben Kompilierungslauf zu verwenden.
quelle
Ich bin auf dieses Problem gestoßen und die Antwort war einfach.
Visual Studio verfügt über zwei Einstellungen auf Projektebene, mit denen PDF-Dateien erstellt werden können.
Sie möchten die Nummer 1 für das Debuggen. Vergiss # 2. Geben Sie Datei 2 einen anderen Namen als Datei 1, um diesen Fehler zu beheben.
Ich weiß nicht, warum Microsoft # 2 als PDF-Datei angibt. Das ist nur verwirrend.
quelle
Ich habe versucht , alle möglichen Lösungen, schließlich arbeitete es , wenn ich die Option deaktiviert
Enable native code debugging
unter demDebugger engines
vonProperties > Debug
.quelle
Der Fehler, den ich erhielt, war "Eine passende Symboldatei wurde in diesem Ordner nicht gefunden" im Fenster "Debug => Module", selbst nachdem sowohl die DLL als auch die PDB verfügbar waren und zusammen erstellt wurden, sodass ich nicht in die von mir referenzierte Ziel-DLL debuggen konnte Hauptprojekt.
Wenn Sie dies hier posten, falls es jemandem hilft, mit "Mixed Platform" für die Ziel-DLL zu surfen. Ich habe zwei Dinge getan, um darüber hinwegzukommen:
Deaktivieren Sie in der Lösung mit der Ziel-DLL "Nur mein Code" unter Extras => Optionen => Debuggen => Allgemein => Nur meinen Code aktivieren (JMC).
Aktivieren Sie in den entsprechenden Projekteigenschaften => Debuggen "Native Code-Debugging aktivieren" in der Ziel-DLL-Lösung.
quelle
Ohne weitere Details zu Ihrer Arbeit ist es schwierig, darüber hinauszugehen. "Der Debugger sucht nach einer Symboldatei, die dem kompilierten Code entspricht, und konnte keine in dem Ordner finden, in dem sich der kompilierte Code befindet."
Einige Dinge, über die man nachdenken sollte:
Überlegen Sie, ob Sie Ihre Frage klären möchten, wenn Sie eine bessere Antwort wünschen. Besonders was meinst du mit "Ich möchte Symbole verwenden".
quelle
Nun, die Lösung hängt von Ihrem spezifischen Problem ab. Ich habe alles versucht, was auf Stackoverflow und anderen Websites zu finden ist. Einer der Themen, denen ich gefolgt bin, ist dieser . Das hat auch nicht geholfen. Das Problem wurde sofort behoben, als ich bemerkte, dass mein ausführbares Projekt keinen Verweis auf die Bibliothek enthielt, die ich debuggen wollte. Also habe ich gerade den Verweis auf dieses Projekt hinzugefügt.
** PS: ** Dieses Problem kann auch auftreten, weil die Assembly, auf die die ausführbare Assembly verweist, möglicherweise nicht mit der in den Referenzen übereinstimmt. In diesem Fall entfernen Sie einfach die bereits vorhandene Referenz und fügen die neue hinzu.
Hoffe das hilft!
quelle
Ich habe meine Debug-Symbole korrigiert und sie mit diesem Tool zur Übereinstimmung gezwungen:
chkmatch Werkzeug
Mein Problem war also, dass ich versuchte, mein Projekt zu debuggen, und der Debugger konnte nicht auf die internen Nugets-Quellen zugreifen. Ich hatte die Quelldateien des Nuget-Projekts. Trotzdem akzeptierte das Visual Studio die PDF-Dateien, denen ich sie zeigen wollte, nicht. Zeigt genau den gleichen Fehler an:
Also habe ich dies der .proj-Datei des Nugets-Projekts hinzugefügt:
Und erstellte die DLL- und PDF-Datei erneut mit der Option zum erneuten Erstellen. In der Kommandozeile lief ich:
Es sagte dies:
Großer Erfolg! Als nächstes verwies ich diese DLL stattdessen auf das Projekt, das ich zu debuggen versuchte. Ich habe gearbeitet, als ich versucht habe, das Symbol erneut zu laden.
Ich hoffe es hilft.
quelle
Ich fand dies, weil die Eigenschaften => Debug => Startaktion so eingestellt war, dass anstelle des Projekts ein externes Programm gestartet wurde. Die neu generierte PDF-Datei stimmte also nicht überein, da die tatsächliche Exe die falsche war.
quelle
Bei BizTalk- (und anderen) Projekten kann dies daran liegen, dass bereits im GAC eine Version der Assembly vorhanden ist, die Sie debuggen möchten. Wenn Sie einen Komponententest ausführen oder zum Debuggen F5 drücken, wird lokal eine neue Version kompiliert. Die Version im GAC wird jedoch verwendet, und der neu erstellte PDB stimmt nicht mit der DLL im GAC überein.
Eine Möglichkeit, dies zu umgehen, besteht darin, die Auswahl eines Builds für alles außer Ihrem Komponententestprojekt mithilfe des Konfigurationsmanagers aufzuheben, wie unten gezeigt:
quelle
Das gleiche passiert mir, weil die .pdb-Datei des Projekts nicht in den
debug\Bin
Ordner kopiert wurde , sodass die Symbole nicht aus der .pdb-Datei geladen werden konnten.Sie müssen Ihr Projekt neu erstellen und die Symbole (PDF-Datei) manuell in den
debug\Bin
Ordner des ausführbaren Projekts kopieren .quelle
Ich habe versucht, Symbole für ein installiertes Nuget-Paket zu laden, das auf unserem lokalen Dev-Server veröffentlicht wurde. Ich musste stattdessen eine normale Referenz deinstallieren und hinzufügen, die aus dem Code erstellt wurde. Das hat bei mir funktioniert. Denken Sie daran, das ursprüngliche Nuget-Paket nach dem Debuggen erneut zu installieren.
quelle
Ich habe dieses Problem auch in letzter Zeit gehabt. Konnte es beheben, indem Sie MyProject-> Eigenschaften-> Linker-> Debugging-> Debug-Informationen generieren -> "Für Debugging optimieren (/ DEBUG)" auswählten.
quelle