
Ich führe ein Projekt in VS17 aus. Ich habe sowohl verwalteten als auch nicht verwalteten Code. Mein C#-Code verweist auf eine in C++ geschriebene DLL und ruft eine Funktion davon auf. Ich möchte den Debugger verwenden können, um den DLL/C++-Code durchzugehen, während ich die C#-Anwendung debugge. Ich habe versucht, das native Code-Debugging zu aktivieren, hatte aber Schwierigkeiten, irgendetwas zum Laufen zu bringen.
Antwort1
Mein C#-Code verweist auf eine in C++ geschriebene DLL und ruft eine Funktion davon auf. Ich möchte den Debugger verwenden können, um den DLL/C++-Code schrittweise durchzugehen, während ich die C#-Anwendung debugge.
Sie müssen den Speicherort des Debugsymbols für die Referenzdatei angeben.
So legen Sie Symbolpositionen und Ladeoptionen fest:
- Öffnen Sie in Visual Studio Extras > Optionen > Debuggen > Symbole
- Fügen Sie unter „Speicherorte für Symboldateien (.pdb)“ den Speicherort der Debugdatei
.pdb
für die betreffende Referenzdatei hinzu.Hinweis: Es wird nur der angegebene Ordner durchsucht. Sie müssen Einträge für alle Unterordner hinzufügen, die Sie durchsuchen möchten.
Wenn Sie auf Ihrem Computer eine DLL- oder EXE-Datei erstellt haben, fügt der Linker standardmäßig den vollständigen Pfad und Dateinamen der zugehörigen PDB-Datei in die DLL- oder EXE-Datei ein. Der Debugger überprüft, ob die Symboldatei an diesem Speicherort vorhanden ist.
Quelle:Angeben von Symbol- (.pdb) und Quelldateien im Visual Studio-Debugger (C#, C++, Visual Basic, F#)