调试托管代码时调试非托管代码
我正在研究的.NET 3.5应用程序包含许多不同的解决方案。 其中一些解决方案由托管代码(C#)组成,其他解决方案包含非托管代码(C ++)。 用C#编写的方法与用C ++编写的方法进行通信。 我试图追踪这些不同函数之间的依赖关系,我想在包含我的C ++函数的解决方案上设置断点。 其中一个C#解决方案有启动项目。 我在调试模式下运行此解决方案,期望我的非托管代码中的断点将被命中,但没有真正发生。 有人可以指导我使用Visual Studio IDE调试混合应用程序的过程吗?
谢谢
默认情况下,托管项目仅在启用托管调试的情况下启动调试器。 它不考虑在同一解决方案中存在非托管项目。 为了调试它们,您需要显式启用非托管代码调试。
- 右键单击项目并选择属性
- 转到“调试”选项卡
- 选中“启用非托管代码调试”
- 转到托管项目属性。
- 右键单击它并转到调试选项卡。
- 在该部分下有一个名为enable debugger的部分。
- 选中“启用本机代码调试”选项
那么你将能够调试本机代码。 祝好运 !!!
请参考下面附有红色矩形突出显示的图像。