Ich habe eine DLL aus C++ und möchte sie in C # debuggen, aber ich weiß nicht, wie.
Als ich das c ++ - Projekt kompilierte, bat mich Visual Studio, eine ".exe" auszuführen.
Ich nahm an, dass ich ein Projekt erstellen musste, um die DLL auszuführen.
Aber ich bin verloren, wie könnte ich es debuggen?
Wenn ich Sie richtig verstehe, möchten Sie ein C++ - codiertes DLL, das Sie erstellt haben, in einem C # -Projekt debuggen, das die DLL aufruft, die Sie ebenfalls erstellt haben.
Ich habe dies zuvor getan, indem ich in die Eigenschaften Ihres C # -Projekts gegangen bin und im Abschnitt "Debuggen" das Kontrollkästchen "Debuggen von nicht verwaltetem Code aktivieren" aktiviert habe. Dies sollte es Ihnen ermöglichen, in Ihre C++ - DLL einzusteigen.
Um ein C++ in C # zu debuggen, müssen Sie einige Dinge tun.
Visual Studio kann keine eigene DLL ausführen.
Sie müssen die Start-EXE-Datei, die Ihre C++ - DLL verwendet, in den Eigenschaften Ihres DLL-Projekts festlegen. Sie können dies über properties -> debugging -> command tun, indem Sie den Pfad der ausführbaren Datei angeben, die Ihre dll aufruft, sowie alle erforderlichen Befehlszeilenargumente.
Rufen Sie für VS 2017 Pro die Eigenschaftenseite des Hauptprojekts (Ihr c # -Projekt in der Projektmappe) auf, indem Sie mit der rechten Maustaste darauf klicken. Suchen Sie im Menüelement Debuggen die Option in Debugger-Modulen, und wählen Sie Debuggen von nativem Code aktivieren aus.
Mithilfe der SOS-Debuggerweiterung (Son of Strike) (SOS.dll) können Sie verwalteten Code in Visual Studio debuggen, indem Sie Informationen zur internen CLR-Umgebung bereitstellen
siehe folgenden Artikel: -