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

发布于 2024-08-03 11:56:50 字数 215 浏览 7 评论 0原文

我收到错误

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

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

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

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

I get the error

changes not allowed when unmanaged debugging is enabled

Actually I get the below message but Google doesn't return many results

changes are not allowed when unmanaged debugging is enabled

What does this mean? How do I fix it? Note this is an ASP.NET project. Checkmarking Edit and Continue does not make this error go away.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

ˇ宁静的妩媚 2024-08-10 11:56:50

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

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

Go to Project Properties and uncheck Native Code in the Debuggers section of the Web tab.

EDIT: Changed for ASP .Net

旧故 2024-08-10 11:56:50

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

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

与实际挑战相权衡的好处导致压倒性的投票结果是忽略此功能。

The Mixed Mode debugger in Visual Studio is a completely different debugger than either the native code debugger or managed code debugger. The primary purpose is to tie into both the very complicated managed debugging API and the very complicated native debugging API at the same time to provide a reliable, usable debugger when working with native and managed code simultaneously. Due to how the debuggers are written, the Visual Studio mixed-mode debugging team would have had to completely re-implement edit-and-continue (which happens to be the most technically challenging debugging feature) to include it. I imagine this was cut because:

  • It is an extremely challenging feature to re-implement.
  • The implementation would cause significant additional coupling to internal changes in the CLR debugging API (and probably the internals) and the native debugging API.
  • The performance of the mixed-mode debugger lags the managed code debugger significantly, leading the majority of users to use the latter for general purpose debugging even without considering the ENC feature. As such, implementing the feature would attract a minimal number of users.

The benefits weighted against the practical challenges leads to an overwhelming vote of leaving this feature out.

走野 2024-08-10 11:56:50

对于 ASP.NET Web 应用程序/网站项目,请转到“Web”选项卡并滚动到最底部,其中显示“调试器”,取消选中本机代码

For ASP.NET Web Application / Web Site projects go to "Web" tab and scroll to the very bottom where it says Debuggers uncheck native code

一场信仰旅途 2024-08-10 11:56:50

在 VS 2017 中,此选项位于项目属性的“调试”部分。取消选中“启用代码调试”选项。

屏幕截图项目窗口

In VS 2017, this option is in the "Debug" section of the project properties. Uncheck the "Enable Code Debugging" option.

Screenshot of the Project Window

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文