3 Stimmen

Microsoft Visual Studio: Debugging mehrerer Projekte gleichzeitig (ausführbare Datei, die auf Funktionen in der DLL zugreift, und die von der ausführbaren Datei verwendete DLL)

Ich habe mich gefragt, wie man mehrere Projekte auf einmal debuggen kann (insbesondere ein Projekt, das in eine ausführbare Datei erstellt wird, und ein Projekt, das in eine DLL erstellt wird). Genauer gesagt, möchte ich Schritt durch die DLL, deren Quelle ist offen für mich.

Ich habe mich gefragt, wie man dies sowohl für C++- als auch für C#-Projekte tun kann?

Ich denke, ich weiß, wie man dies für den Fall C# zu tun:

  1. Erstellen Sie eine neue Lösung.
  2. Fügen Sie beide Projekte zur Lösung hinzu.
  3. Erstellen Sie das DLL-Projekt (als Debugger).
  4. Fügen Sie dem ausführbaren Projekt einen Verweis auf die DLL hinzu, die erstellt wurde (Muss das Arbeitsverzeichnis das Verzeichnis sein, in dem das Debug-DLL-Projekt erstellt wurde?)
  5. Legen Sie das ausführbare Projekt als Startprojekt fest und debuggen Sie normal; Sie sollten in der Lage sein, Haltepunkte in der DLL usw. zu setzen.

Klingt das richtig? Wenn nicht, kann mir jemand sagen, was ich übersehe?

Was noch wichtiger ist: Wie kann ich dies für den C++-Fall tun? Danke!

R

2voto

Ben Voigt Punkte 268424

Es sieht so aus, als hätten Sie die meisten Schritte bereits eingeleitet. Stellen Sie sicher, dass die .pdb-Datei für den Debugger verfügbar ist. Der C++-Compiler erstellt sie automatisch im Ausgabeverzeichnis, aber Visual Studio kopiert referenzierte DLLs als Teil des C#-Build-Prozesses und hat diese wichtigen Debug-Daten wahrscheinlich nicht mit aufgenommen. Das Kopieren in das C#-Ausgabeverzeichnis sollte ausreichend sein.

0voto

vatsa Punkte 9

Welchen Editor verwenden Sie? Wenn Visual Studio, können Sie das Projekt ausführen und verknüpfen Sie die Exe zur Laufzeit.die meisten der Schritte, die Sie bereits geschrieben haben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X