在哪里可以找到“启用非托管代码调试”以便能够在系统运行时编辑代码?

Posted

技术标签:

【中文标题】在哪里可以找到“启用非托管代码调试”以便能够在系统运行时编辑代码?【英文标题】:Where to find "Enable Debugging of Unmanaged Code" to be able to edit the code while the system is running? 【发布时间】:2016-05-02 18:29:51 【问题描述】:

在旧版本的 Visual Studio 中(就像家里的那个,猜想 2013 年),我可以在系统运行时编辑我的代码,但我无法继续(而且我不想继续)。在单步执行我的代码时,我只想开始输入,一旦我完成编辑然后重新编译。

优点是,在打字时,我可以将鼠标悬停在鼠标上,观察变量的值/结构并进行相应的编辑。有时它是一个很好的指南,例如提醒或笔记。

为什么我的 Visual Studio 2015 阻止我编辑代码?说:

启用非托管调试时不允许更改

P.S 我的 Edit and Continue 选项已按照 Internet 上的建议启用。 2015 年没有 启用非托管调试选项,就像这里建议的 2010 年 How to: Enable Debugging of Unmanaged Code

编辑:这是一个 C#/C++ 应用程序。我没有从头开始这个项目,这是一个巨大的项目。我将它作为 Debugger 启动,有时作为 Release 启动。两者都不起作用(我不关心版本)

Tools -> Options -> Debugging -> General 下的设置如下所示:

【问题讨论】:

什么样的项目,你是如何启动调试器的? @slaks 这是一个 C#/C++ 类型的项目。我编辑了我的帖子以添加它 这个项目到底是什么? 是什么样的项目? C#应用?表格? WPF? C++ 应用程序?没有“C#/C++ 应用程序”项目之类的东西。 哦,这是一个 WPF @slak,该解决方案还有其他项目,例如 C++ 控制台。我关心的是主要的 WPF 【参考方案1】:

你来错地方了;这是系统范围的调试选项。

正如您链接到的帖子中所述,您需要转到项目属性中的“调试”选项卡。

【讨论】:

但是我已经去了那里,它不在。只有三个:启用本机代码调试启用SQL Server调试,启用properties -> Debug下的Visual Studio托管进程 启用本机代码调试就是你要找的。​​span> 错误显示“更改...已启用”所以我禁用了它(已启用)但没有工作。但是,在重新启动整个事情后工作:))))))))))))))) 谢谢:)))) 澄清一下,这需要在 C# 项目中完成,而不仅仅是 C++/CLI 项目。【参考方案2】:

当您想破坏正常的 C++ 代码时,请使用本机兼容模式。同样右键单击项目并在项目属性中选中“启用本机调试”。这两件事应该允许您调试 c++(不是编辑和继续,只是正常调试)

【讨论】:

以上是关于在哪里可以找到“启用非托管代码调试”以便能够在系统运行时编辑代码?的主要内容,如果未能解决你的问题,请参考以下文章

如何从我的 C++/CLI 代码进入非托管 C++ 库

VS2013无法启动IIS调试,被拒绝访问

vs2010 出现“未能将 ProteusDebugEngine 调试器附加到计算机”

调试由 .NET 应用程序创建的 COM 对象

调试由 C# Visual Studio 2010 插件导入的 C++ dll

在哪里可以找到适用于 Android 的 nm 工具(已编译或源代码)