我有一个 native C Dll,它调用“LoadLibrary”来加载另一个打开了/clr 标志的 Dll。然后我使用“GetProcAddress”获取一个函数并在动态加载的 dll 上调用它。我想在调试器中进入动态库,但符号永远不会加载。有什么想法吗?
我应该说我使用的是 Visual Studio 2008。
更新:由于下面的一些提示,我将项目调试更改为混合。它没有用,但我想我知道为什么。我正在为现有应用程序开发插件。我正在连接的应用程序启动一个 exe,然后启动另一个。所以我必须使用“附加到进程”来启动调试器。我的猜测是以默认为“自动”的方式启动调试器。 有没有办法将 VS 的默认行为更改为使用“混合”调试?
最佳答案
这是来自 VS2008,但如果我没记错的话,VS2005 是类似的。在 native 项目的属性中,在“Configuration Properties->Debugging”下有一个“Debugger Type”,默认设置为“Auto”。您需要将其更改为“混合”,因为 VS 不够智能,无法意识到您需要托管调试
关于c++ - native C/托管 C++ 调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1202283/