调试从c++应用程序动态加载的c++ /CLI DLL

Debug a dynamically loaded C++/CLI DLL from a C++ application

本文关键字:c++ CLI DLL 动态 应用程序 调试 加载      更新时间:2023-10-16

我是Visual Studio中的c++新手。

我开发了一个VS解决方案:

  • c++/CLI DLL项目(a)
  • 一个c++控制台项目(B),它使用LoadLibraryW
  • 动态加载a

当我运行B时,我需要在A内进行调试,但是A代码中的断点不起作用,它们有一个警告符号说这里不可能中断。

我尝试了许多设置,但都不起作用。这不是一件容易的事吗?谢谢!

多亏了@HansPassant,解决方案是设置以下属性:

  • Project> Properties> Debugging> Debugger Type = Mixed
  • Tools> Options> Debugging> General,勾选"使用托管兼容模式"。

LoadLibrary不会神奇地启用托管代码,CLR需要首先加载并初始化。