2010-03-25 23 views
20

Die .NET 3.5-Anwendung, an der ich arbeite, besteht aus einer Reihe verschiedener Lösungen. Einige dieser Lösungen bestehen aus verwaltetem Code (C#) und andere haben nicht verwalteten Code (C++). In C# geschriebene Methoden kommunizieren mit denen in C++ geschriebenen. Ich versuche, die Abhängigkeiten zwischen diesen verschiedenen Funktionen zu verfolgen, und ich dachte, Haltepunkte für die Lösung, die meine C++ - Funktionen enthält, festzulegen. Eine der C# -Lösungen hat das Startup-Projekt. Ich führe diese Lösung im Debug-Modus mit der Erwartung, dass die Breakpoints in meinem nicht verwalteten Code getroffen werden, aber nichts passiert wirklich. Kann mir jemand bei der Fehlersuche bei gemischten Anwendungen wie diesen mit der Visual Studio IDE helfen?Debuggen von nicht verwaltetem Code beim Debuggen von verwaltetem Code

Dank

Antwort

26

standardmäßig nur ein verwaltetes Projekt aktiviert den Debugger mit verwalteten Debuggen beginnen. Es berücksichtigt nicht, dass nicht verwaltete Projekte in derselben Lösung vorhanden sind. Um beide zu debuggen, müssen Sie das Debuggen von nicht verwaltetem Code explizit aktivieren.

  • Rechtsklick auf das Projekt und wählen Sie Eigenschaften
  • Gehen Sie auf die Registerkarte Debuggen
  • Check "Unmanaged Code-Debugging aktivieren"
+0

Danke Jared. Wenn sich mein nicht verwalteter Code in einer Lösung befindet und sich mein Code in einer anderen Visual Studio-Lösung befindet, muss ich den Debugger von meinen beiden Lösungen ausführen, um die Haltepunkte zu erreichen. Ich habe getan, was Sie vorgeschlagen haben, aber ich kann die Haltepunkte immer noch nicht erreichen. –

+0

Sie kompilieren die Debug-Version der C++ - Klassen? – iain

+5

@sc_ray: Wenn Sie an einen Prozess anfügen: Klicken Sie im Feld "An Prozess anhängen" auf "Auswählen" und aktivieren Sie die Kontrollkästchen "Verwaltet" und "Nativ". –

3
  1. Zum Projekt Immobilien verwaltet.
  2. Klicken Sie mit der rechten Maustaste darauf und gehen Sie zur Debug-Registerkarte.
  3. Es gibt einen Abschnitt namens Enable Debugger unter diesem Abschnitt.
  4. Überprüfen Sie die "Enable native Code-Debugging" Option

dann werden Sie den nativen Code debuggen können. Viel Glück !!!

Bitte beachten Sie das unten angefügte Bild, das mit einem roten Rechteck markiert ist.

enter image description here

Verwandte Themen