20

我得到错误

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

实际上我收到以下消息,但谷歌没有返回很多结果

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

这是什么意思?我如何解决它?请注意,这是一个 ASP.NET 项目。选中编辑并继续不会使此错误消失。

4

3 回答 3

35

转到项目属性并取消选中 Web 选项卡的调试器部分中的本机代码。

编辑:更改为 ASP .Net

于 2009-08-26T06:00:25.807 回答
6

Visual Studio 中的混合模式调试器与本机代码调试器或托管代码调试器完全不同。主要目的是同时连接到非常复杂的托管调试 API 和非常复杂的本机调试 API,以便在同时处理本机和托管代码时提供可靠、可用的调试器。由于调试器的编写方式,Visual Studio 混合模式调试团队必须完全重新实现编辑并继续(这恰好是技术上最具挑战性的调试功能)才能包含它。我想这是因为:

  • 重新实现是一项极具挑战性的功能。
  • 该实现将导致与 CLR 调试 API(可能还有内部)和本机调试 API 中的内部更改的显着额外耦合。
  • 混合模式调试器的性能明显落后于托管代码调试器,导致大多数用户即使不考虑 ENC 功能也将后者用于通用调试。因此,实施该功能将吸引最少数量的用户。

与实际挑战相权衡的好处导致以压倒性的票数将这一功能排除在外。

于 2009-08-26T06:08:53.420 回答
3

对于 ASP.NET Web 应用程序/网站项目,转到“Web”选项卡并滚动到最底部,其中显示 Debuggers uncheck native code

于 2010-02-12T20:26:55.853 回答