【问题标题】:Changes not allowed when unmanaged debugging is enabled?启用非托管调试时不允许更改?
【发布时间】:2009-08-26 05:47:02
【问题描述】:

我得到了错误

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

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

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

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

【问题讨论】:

  • 我为 ASP .Net 更新了我的答案

标签: asp.net debugging managed


【解决方案1】:

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

编辑:针对 ASP .Net 进行了更改

【讨论】:

  • (C#) ASP.NET 项目中没有调试部分
【解决方案2】:

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

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • +1。这已经完成了。但它没有以前那么糟糕了。也许这是以前的问题。
    猜你喜欢
    • 2012-07-03
    • 2018-08-19
    • 2011-01-31
    • 2011-09-04
    • 2021-09-19
    • 1970-01-01
    • 2019-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多