2009-07-15 103 views
2

更新:更多挖掘後,這似乎是靜態方法和成員變量的問題。我在MSDN論壇上找到了this post,但沒有回答。混合模式調試

我正在寫一個C#WinForms應用程序(.Net 2.0)與混合模式DLL都在同一個解決方案。當我在調試時進入本地代碼時,我無法「觀察」許多指針變量。這似乎是一個奇怪的現象,因爲一些指針是有看頭(我想這是一個字:))

例如:

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

    return innerConnection; 
} 

雖然通過這種方法innerConnection步進不提供給我。在監視窗口中的值是「error:identifier'innerConnection'超出範圍」。內部連接不應超出範圍。

同樣在該示例中「汽車」的窗口「本」具有

C#的項目被設定爲啓動項目和它引用的C++ dll項目(全在同一溶液中)。我在C#項目中啓用了本地調試,並在C++/CLI項目中將調試模式設置爲Auto。我使用Visual Studio 2005

回答

2

在我的情況下(原生EXE - >混合DLL - >託管程序集(所有Visual Studio 2008))我必須將可執行文件的調試模式設置爲「混合」。使用默認的「自動」設置,我無法進入托管程序集。

+1

請參閱:http://msdn.microsoft.com/en-us/library/kbaht4dh.aspx,瞭解如何進行混合模式調試 – 2011-04-27 12:49:18