以纯原生模式

时间:2015-10-23 12:00:16

标签: c# c++ visual-studio debugging

我有一个MSVC2013解决方案,包含C#(托管)和C ++(本机)项目。一个 C#项目设置为启动项目。我想通过调试来启动这个项目,这通常只需按下F5即可在devenv中实现。

但是,我想在仅限本机模式下启动调试器(即无需管理调试)。我无法通过更改C#项目的设置来实现此行为:它只有一个选项"启用本机代码调试",它允许启用或禁用本机调试。我知道的唯一标准方法是在没有调试的情况下启动应用程序,然后仅选择本机调试附加到进程。

有没有办法自动化这个过程?理想情况下,按一个按钮应足以启动仅本机调试。也许某些扩展可以简化这项任务。

P.S。我在混合模式调试中遇到了一个令人讨厌的错误,在我的情况下完全破坏了调试。这个bug本身就是这个问题的主题,它只是解释了为什么使用C#启动项目进行本机调试可能会有用(并且对我个人有用)。

1 个答案:

答案 0 :(得分:6)

目前尚不清楚为何不能简单地使用Project>属性>调试选项卡>勾选“启用本机代码调试”。如果您使用VS2012及更高版本,请注意必须禁用新的托管调试引擎,它不再与C ++ / CLI代码兼容。使用工具>选项>调试>一般>勾选“使用托管兼容模式”。

但是你可以实现你想要的,只需选择一个本机代码项目作为你的启动项目。右键单击>设置为启动项目。您必须选择启动EXE,右键单击>属性>调试>命令,将其更改为C#可执行文件。一旦C#代码加载DLL,断点就会变为活动状态(颜色为红色)。