【问题标题】:Mixed Mode Debugging混合模式调试
【发布时间】:2009-07-15 14:41:14
【问题描述】:

更新:经过更多挖掘,这似乎是静态方法和成员变量的问题。我在 MSDN 论坛上找到了this post,但没有答案。

我正在编写一个 C# WinForms 应用程序(.Net 2.0),其中包含一个混合模式 dll,所有这些都在同一个解决方案中。当我在调试时进入本机代码时,我无法“观察”许多指针变量。这似乎是一种奇怪的行为,因为某些指针是可观察的(我猜这是一个词:))

例如:

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

    return innerConnection;
}

在逐步执行此方法时,我无法使用 innerConnection。监视窗口中的值是“错误:标识符'innerConnection'超出范围”。内部连接不应超出此处的范围。

同样在这个例子中的“汽车”窗口“这个”有

C# 项目设置为启动项目,它引用了 C++ dll 项目(都在同一个解决方案中)。我在 C# 项目中启用了本机调试,并在 C++/CLI 项目中将调试模式设置为自动。我正在使用 Visual Studio 2005

【问题讨论】:

    标签: c# debugging visual-studio-2005 c++-cli scope


    【解决方案1】:

    在我的情况下(本机 EXE --> 混合 DLL --> 托管程序集(所有 Visual Studio 2008))我必须将可执行文件的调试模式设置为“混合”。使用默认的“自动”设置,我无法进入托管程序集。

    【讨论】:

    猜你喜欢
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-04
    • 2011-07-29
    • 2017-08-04
    • 1970-01-01
    相关资源
    最近更新 更多