Debugging von COM Komponente aus C# heraus



  • Hi,

    ich habe eine Frage zu dem Debugging einer COM-Komponente aus C# heraus. Ein kleines beispielprogramm von mir bindet die COM-DLL ein, und ruft Funktionen daraus auf. Allerdings bin ich nicht in der Lage, einen Breakpoint in der COM-DLL zu setzen. Wie kann ich also dem Debugger klarmachen, dass der Aufruf in eine DLL erfolgt, welche von ihm erstellt wurde, und den er bitteschön auch abfangen soll?

    Zu dem Setup: Das ganze besteht aus drei Projekten, welche alle ihre respektiven EXE's / DLL's in ein gemeinsames Binary-Verzeichnis kopieren, in einem post-build-Schritt. Die in C# geladene COM-DLL ist ebenfalls in diesem Verzeichnis. Debuggen durch das C#-Programm funktioniert gut, allerdings die COM-Aufrufe werden einfach durchgeführt, ohne Rücksicht auf vorhandene Breakpoints.

    (Vermutlich verwandte Frage: Wie kann ich dem Debugger sagen, dass er die EXE in dem gemeinsamen Binary-Verzeichnis ausführen soll und nicht diejenige im BIN/Debug-Verzeichnis des Projekts?)

    Grüße,

    Axel.



  • Du must das "nativ debuggen" aktivieren (bzw. "mixed"). Per default ist in C# nur das "managed debuggen" aktiviert.
    Wenn Du das "mixed-mode" debuggen aktivierst wird aber alles seeeeeehr langsam... aus diesem Grunde würde ich Dir Raten entweder oder zu machen... aber Du kannst es gerne auch "mixed" machen (Projekt-Settings|Debugger|Debugger Typ: "Mixed")


Anmelden zum Antworten