如何从托管代码项目中调试本机代码项目? C ++ / C#

时间:2011-07-18 19:08:53

标签: c# c++ debugging native

如何从托管代码项目中调试本机代码项目?我使用C#调用C ++代码,需要调试C ++代码。否则,我必须退出项目,打开C ++项目,创建一个测试人员,然后调试代码。这太可怕了。

2 个答案:

答案 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。对于调试器类型选项,请选择适用的属性:

这可以是自动的,也可以是混合的。我更喜欢混合,因为它明确声明你想要托管和本机调试。

作为旁注,您可以选择仅本机,但是您将无法在托管代码中设置断点。我不确定这是否适合您。

如果您选择仅托管,您显然不会在本机代码中遇到任何断点。