Laden...
3 Antworten
5,585 Aufrufe
Letzter Beitrag: vor 18 Jahren
Debuggen in DLLs

Ich lade DLLs während der Laufzeit mit Assembly.Load(Name) und rufe die Methoden der DLLs mit MethodInfo.Invoke() auf.
Leider schaffe ich es nicht, in die so aufgerufene DLL hinein zu debuggen, d.h. bei darin gesetzten Breakpoints hält VS2005 nicht an und Single-Step springt einfach über den Aufruf hinweg.
Beim Programmaufruf erhalte ich außerdem die Fehlermeldung:
"Das folgende Modul wurde entweder mit aktivierten Optimierungen oder ohne Debuginformationen erstellt: ... Zum Debuggen des Moduls verwenden Sie als Projektbuildkonfiguration den Debugmodus...", was ich natürlich gemacht habe.

Wie schaffe ich es, in den DLLs zu debuggen?

Tach.

Ich hab das System dahinter auch noch nicht ganz kapiert. Wie folgt hat es aber bei mir funktioniert, um die DLLs zu debuggen.

  1. DLL auf deinem Entwicklungs-System mit "Debug"-Option erstellen.
  2. DLL dynamisch aus "...\bin\Debug" laden (Wenn du Visual Studio verwendest)
  3. Mit F11/Single-Step hinnein springen.

Wenn das auch nicht funktioniert, kannst du das Projekt der DLL in deine Projektmape einbinden (!! Ohne eine Referenz darauf zu setzen !!) und es dynamisch aus "...\bin\Debug" laden.

Gruß
Juy Juka

PS: "Das folgende Modul wurde entweder mit aktivierten Optimierungen oder ohne Debuginformationen erstellt" heist übrigens, dass beim Kompilieren in Visual Studio: A) "Release" in der DropDown-Box ausgewählt war oder B) In den Projekt-Eigenschafen die CheckBox "CodeOptimierung" angewählt ist.

Verstehe ich richtig das du zur Laufzeit mit deiner Anwendung andere DLLs debuggen willst? Wenn ja, dann könnte es so gehen:

Du könntest versuchen einen Debugger quasi an dich selber anzuhängen:

System.Diagnostics.Debugger.Launch();

Wenn du jetzt den Debugger.Launch(); in einen extra Prozess auslagerst und dort dann die Methode aus der DLL startest, hättest du theorethisch einen Prozess mit angehängtem Debugger.

Habe dass noch nicht probiert, stelle es mir aber so vor. =)

To understand recursion you must first understand recursion

http://www.ilja-neumann.com
C# Gruppe bei last.fm