如何从托管代码项目中调试本机代码项目?我使用C#调用C ++代码,需要调试C ++代码。否则,我必须退出项目,打开C ++项目,创建一个测试人员,然后调试代码。这太可怕了。
答案 0 :(得分:9)
将您的c ++项目添加到包含C#代码的解决方案
在C#项目属性页面的调试选项卡下
选中“启用非托管代码调试”
如果这不起作用,您还需要从Debug或Tools菜单(在VS2017中)打开Options对话框,然后转到Debugging-> General。检查选项
“抑制模块加载时的JIT优化(仅限管理)。”
然后,您就可以调试C ++ / CLI和C ++代码。 (最后的提示来自Kim Togo Andersen。)
答案 1 :(得分:3)
在visual studio的调试选项中,您必须指定正确的调试器类型。
打开项目的属性对话框窗口,然后在Configuration Properties下选择Debugging。对于调试器类型选项,请选择适用的属性:
这可以是自动的,也可以是混合的。我更喜欢混合,因为它明确声明你想要托管和本机调试。
作为旁注,您可以选择仅本机,但是您将无法在托管代码中设置断点。我不确定这是否适合您。
如果您选择仅托管,您显然不会在本机代码中遇到任何断点。