C-DLL in C# einbinden und debuggen
-
Hallo Helfende,
vielleicht kann mir einer von Euch weiterhelfen.
Für die Entwicklung einer Firmware soll auf dem PC ein Emulator geschrieben werden. Bisher habe ich dafür die GUI in C++ mit Hilfe der MFC geschrieben und den C-Code in einem eigenen Thread gestartet und entwickelt. Jetzt sollen die Vorteile von C# (WPF) für die Entwicklung der Oberfläche genutzt werden. Soweit ist das auch kein Problem, Die C-Main kann ich aus WPF heraus starten und auch Werte aus C in WPF anzeigen. Ich schaffe es jedoch nicht in den C-Code hinein zu debuggen. Die folgenden Varianten habe ich probiert:
C#-EXE ruft C-DLL
C#-EXE ruft C++DLL(/clr) ruft C-DLL
C#-EXE ruft C++DLL(/clr) mit C-LIB
C#-EXE ruft C++DLL(/clr) mit integrierten C-Code(natürlich ohne /clr)Alle Varianten funktionieren problemlos. Aber ich kann bei keiner in den C-Code debuggen. Auch das nachträglichen Anhängen an den Prozess lässt kein Debug zu.
Wenn ich die C-Dll aus einer C++EXE starte ist das Debuggen kein Problem.
Frage:
Wie kann ich die C-DLL debuggen wenn Sie von einer C#-EXE gestartet wurde?Vielen Dank
Uwe
-
Falsches Forum: C# wäre besser - hat mit C++/CLI doch nix zu tun...
Edit: Als Antwort.. probier doch mal in der C- DLL ein DebugBreak() zu plazieren.
http://msdn.microsoft.com/en-us/library/ms679297(v=vs.85).aspx
-
Hallo theta,
da es um die Verbindung von native-managed Code geht hielt ich die dafür bereitgestellte Sprache (C++/CLR) als Sinnvoll. Bitte vergib mir. Ich werde die Frage im C# Forum stellen.
Weder "DebugBreak()" noch "__asm int 3" führen zum Erfolg.
Danke für deine schnelle Antwort.
Gruß Uwe
-
Hier gehts weiter: http://www.c-plusplus.net/forum/282645