2009-07-15 2 views
2

Update: Nach mehr graben scheint dies ein Problem mit statischen Methoden und Membervariablen zu sein. Ich habe this post in MSDN-Foren gefunden, aber keine Antwort.Debugging im gemischten Modus

Ich schreibe eine C# WinForms App (. NET 2.0) mit einem gemischten Modus DLL alle in der gleichen Lösung. Wenn ich beim Debuggen in den systemeigenen Code eintrete, kann ich viele Zeigervariablen nicht "beobachten". Dies scheint eine seltsame Verhalten zu sein, weil einige der Zeiger ansehnlich sind (ich denke, das ist ein Wort :))

zum Beispiel:

Connection* Connection::Instance() 
{ 
    if (innerConnection == NULL) 
    { 
     innerConnection = new Connection(); 
    } 

    return innerConnection; 
} 

Während durch diese Methode innerConnection Schritt mir nicht zur Verfügung steht. Der Wert dafür im Watch-Fenster ist "error: identifier 'innerConnection' out of scope". Innere Verbindung sollte hier nicht außer Betracht bleiben.

Auch in diesem Beispiel in den „Autos“ Fenstern „this“ hat

Das C# Projekt als Startprojekt festgelegt und es verweist auf das C++ DLL-Projekt (alle in der gleichen Lösung). Ich habe natives Debugging im C# -Projekt aktiviert und den Debug-Modus im C++/CLI-Projekt auf "Auto" gesetzt. Ich verwende Visual Studio 2005

Antwort

2

In meinem Fall (native EXE -> gemischte DLL -> verwaltete Assembly (alle Visual Studio 2008)) Ich musste den Debug-Modus der ausführbaren Datei auf "Mixed". Mit der Standardeinstellung "Auto" konnte ich nicht in die verwaltete Assembly wechseln.

+1

finden Sie unter: http://msdn.microsoft.com/en-us/library/kbaht4dh.aspx für eine Anleitung zum Debuggen im gemischten Modus –