调试托管代码时调试非托管代码

我正在研究的.NET 3.5应用程序包含许多不同的解决方案。 其中一些解决方案由托管代码(C#)组成,其他解决方案包含非托管代码(C ++)。 用C#编写的方法与用C ++编写的方法进行通信。 我试图追踪这些不同函数之间的依赖关系,我想在包含我的C ++函数的解决方案上设置断点。 其中一个C#解决方案有启动项目。 我在调试模式下运行此解决方案,期望我的非托管代码中的断点将被命中,但没有真正发生。 有人可以指导我使用Visual Studio IDE调试混合应用程序的过程吗?

谢谢

默认情况下,托管项目仅在启用托管调试的情况下启动调试器。 它不考虑在同一解决方案中存在非托管项目。 为了调试它们,您需要显式启用非托管代码调试。

  • 右键单击项目并选择属性
  • 转到“调试”选项卡
  • 选中“启用非托管代码调试”
  1. 转到托管项目属性。
  2. 右键单击它并转到调试选项卡。
  3. 在该部分下有一个名为enable debugger的部分。
  4. 选中“启用本机代码调试”选项

那么你将能够调试本机代码。 祝好运 !!!

请参考下面附有红色矩形突出显示的图像。

在此处输入图像描述