以仅本机模式在c#启动项目上启动调试

Start debugging on C# startup project in native-only mode

本文关键字:启动 项目 调试 本机 模式      更新时间:2023-10-16

我有一个c#(托管)和c++(本地)项目的MSVC2013解决方案。一个 c#项目被设置为启动项目。我想从调试开始这个项目,这通常是在devv中通过简单地按F5来实现的。

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

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


注:我在混合模式调试中遇到了一个严重的错误,在我的情况下,它完全中断了调试。这个bug本身是而不是问题的主题,它只是解释了为什么仅使用c#启动项目进行本机调试可能是有用的(并且对我个人很有用)。

这不是很清楚为什么你不能简单地使用项目>属性>调试选项卡>勾选"启用本机代码调试"。如果您使用VS2012及更高版本,那么请注意,您必须禁用新的托管调试引擎,它不再与c++/CLI代码兼容。使用工具>选项>调试>常规>勾选"使用托管兼容模式"。

但是你可以实现你想要的,简单地选择一个本地代码项目作为你的启动项目。右键单击>设置为启动项目。您必须选择启动EXE,右键单击>属性>调试>命令,将其更改为c#可执行文件。当c#代码加载你的DLL时,断点就会变成活动的(用纯红色表示)。