gpt4 book ai didi

c# - 混合模式调试

转载 作者:太空宇宙 更新时间:2023-11-03 11:54:13 27 4
gpt4 key购买 nike

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

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

例如:

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

return innerConnection;
}

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

同样在这个例子中,“Autos”窗口中的“this”有

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

最佳答案

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

关于c# - 混合模式调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1131830/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com