问题标签 [edit-and-continue]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
37 回答
124527 浏览

visual-studio - 编辑并继续:“当...时不允许更改”

即使我创建了一个干净的 WinForms 项目,“编辑并继续”也不起作用并给我错误:

当调试器已附加到已运行的进程或正在调试的代码在构建或运行时进行了优化时,不允许进行更改。

  1. 在工具 → 选项 → 调试中选中编辑并继续选项。
  2. 未启用优化。
  3. 似乎没有设置任何托管分析器。
  4. 我在调试模式下运行
  5. 我在 x64 CPU 和 Windows XP 32 位上运行,但是将平台目标设置为 x86 而不是 AnyCpu 并没有帮助。
  6. 修复 Visual Studio 安装没有帮助。

我还在MSDN 网站上找到了这篇文章:

不支持的场景

编辑并继续在以下调试方案中不可用:

  • 在 Windows 98 上调试。

  • 混合模式(本机/托管)调试。

  • SQL 调试。

  • 调试 Dr. Watson 转储。

  • 在未处理的异常后编辑代码,当未选择“在未处理的异常上展开调用堆栈”选项时。

  • 调试嵌入式运行时应用程序。

  • 使用 Attach to 调试应用程序,而不是使用 Debug 菜单中的 Start 运行应用程序。

  • 调试优化代码。

  • 当目标是 64 位应用程序时调试托管代码。如果要使用“编辑并继续”,则必须将目标设置为 x86。(项目属性,编译选项卡,高级编译器设置。)。

  • 由于构建错误导致新版本构建失败后调试旧版本的代码。

但我可以对这个列表中的每一项都回答“否”。

它以前工作过,但几天前它停止工作,我不知道可能是什么原因。

0 投票
5 回答
11504 浏览

asp.net-mvc - 如何在 Visual Studio 2008 和 ASP.Net MVC 中编辑和继续?

我正在尝试通过 ASP.Net MVC 项目来编辑并继续使用 Visual Studio 2008。我正在运行 64 位,所以这增加了问题。

在配置管理器中,我的活动解决方案平台是 x86,所有项目也都针对调试 x86。

在项目属性中,我选择了“启用编辑并继续”。

在 Tools->Options...->Debugging->Edit and continue 中,我选择了“Enable Edit and Continue”。

在工具->选项...->调试->常规中,我启用了“在一个项目中断时中断所有进程”。

一旦我尝试更改视图/模板之外的一些源代码,我就会收到消息:编辑并继续:代码运行时不允许更改,或者如果选项“在一个项目中断时中断所有进程”被禁用。该选项可以在工具、选项、调试中启用。

任何想法如何让它工作?

0 投票
2 回答
2265 浏览

c++ - 为什么在 VS2008 中使用旧版 C++ win32 项目编辑并继续对我不起作用?

如果我在 VS2008 中创建一个新的 win32 C++ 项目,我可以很好地使用 Edit & Continue,但是对于这个遗留项目,我正在尝试使用/启用它失败了。

以下是我检查过的内容:

工具 -> 选项 -> 调试 -> 编辑并继续 -> 启用编辑并继续为 ON。

调试信息格式:程序数据库(/Zi)

代码生成 -> 启用功能级链接:是 (/Gy)

查找损坏的 .ILK 文件。我找不到任何 .ILK 文件 - 它们在 2008 年仍在使用吗?

但是当我进入程序时,更改下一行,然后再次执行,我得到:

“此源文件已更改。它不再匹配...”

而不是

“您是否希望编辑并继续应用您的代码更改。”

这个 E&C 行不通的项目有什么问题?

0 投票
3 回答
7116 浏览

c# - 当方法中有 Lambda 表达式时,为什么不能编辑并继续调试?

我在其他问题中看到它说 Linq 查询语法编译为 Lambda。

那么,当方法中有 Lambda 表达式时,为什么不能编辑并继续,而使用查询符号可以呢?

最令人气愤的是,并且严重地让我考虑切换到在任何地方使用查询表示法,即使您的代码不在 Lambda 中,但在同一方法中的其他地方有一个 Lambda,您也无法编辑并继续!这就像对粗心的开发人员造成的无端痛苦!

0 投票
8 回答
37398 浏览

c# - 在 Visual Studio 2008 中调试时“不允许更改 64 位应用程序”

我正在使用 Visual Studio 2008,C#。我尝试使用编辑并继续(在调试时编辑代码),并得到这个异常:

“不允许更改 64 位应用程序”

这是为什么?有解决方法吗?

0 投票
1 回答
195 浏览

c# - LINQ调试时间代码更改...在vs2008中可以吗?

有没有办法做到这一点?每次都必须重新启动真的很烦人。

0 投票
3 回答
4587 浏览

c# - 有没有办法*完全*禁用编辑并继续?

我想知道是否有办法在 Visual Studio 2008 中调试代码时完全锁定我的代码。作为 64 位应用程序运行时,代码文档会自动锁定,我非常喜欢;但是,我的大部分编码都是为 32 位的 Excel 制作插件。结果是,即使我以“AnyCPU”为目标,VS 主机也知道它在 32 位进程中运行,因此,在 Visual Studio 中运行代码时源代码不会被锁定。

我可以通过转到工具 > 选项 > 调试 > 编辑并继续,然后取消选中“启用编辑并继续”复选框来关闭“编辑并继续”。然而,这并没有完全锁定代码。这确实会阻止在当前运行中执行代码中的任何编辑,但不会阻止鼠标单击或击键实际更改代码。

同样,在使用 64 位应用程序时不会发生这种情况——代码被完全锁定。我非常喜欢将代码完全锁定,至少有两个原因:

  1. 我可能会在调试时不小心按到某个键或类似的东西,我绝对不想这样做。这很少见,但这是一个问题。

  2. 我的许多自动化测试通过 SendKeys 驱动用户界面。但是,当使用调试器逐步完成此类测试时,我有时会忘记某些方面涉及 SendKeys,这意味着击键最终会发送到 Visual Studio IDE 而不是 Excel。

在上面的问题 #2 中,单元测试失败了,这很好——我的错——但是将所有击键发送到代码模块并破坏我的代码是完全不可接受的。

有人在这里有什么想法吗?在针对 32 位 CPU 编译时,在 Visual Studio 中运行托管时,可以完全锁定代码吗?

关于这个问题的一些相关帖子,但没有一个直接解决这个问题:

在此先感谢您的任何帮助或想法...

麦克风

0 投票
13 回答
42802 浏览

visual-studio - 在 64 位计算机上使用 Visual Studio 2010 时无法编辑和继续,应用面向 x86

在 Windows 7 64 位机器上使用 Visual Studio 2010 时,我在编辑并继续时遇到了一些问题。我已确保以下内容

  1. 在工具>选项>调试>编辑并继续下启用编辑并继续
  2. 我的解决方案平台设置为 x86
  3. 我的解决方案配置设置为调试
  4. 我所有的项目都是为 Debug 和 x86 构建的
  5. 对于 Projects>Properties>Build 下的所有项目,优化代码选中

当我遇到断点并尝试编辑时,我遇到了以下消息。

以下情况不允许更改
(来源:sedotech.com

对于我创建的所有项目,无论它们是 WPF/Win Forms/VB.NET/C#/.NET 4/.NET 3,都会发生这种情况。

有任何想法吗?

0 投票
3 回答
2159 浏览

vb.net - VB.net Edit-And-Continue:忽略“调试时无法应用此更改”

当使用 VB.Net (2008) 并暂停调试时,Edit-And-Continue 可以节省大量时间。但是,如果您更改任何模块/类级别的信息(变量、子/函数签名等),您会收到如下错误消息:

虽然我可以理解完成这项工作所面临的技术挑战(以及为什么会很难),但它让我陷入了困境,只有几个选择:

1) 重新启动并重新编译,使程序恢复到相同的状态
2) 继续调试而不进行更改,并且有忘记的风险
3) 输入提醒说明以进行更改

所有这些都很烦人。

现在我知道选项“4)只是实际进行更改”可能是不可能的。但是有人知道如何启用以下“技术上简单”的可能性吗?

4)让我更改代码,用紫色波浪下划线标记它,这样我就可以保存它,但在重新编译之前忽略更改

我已经检查了工具|选项|调试|编辑并继续,似乎没有什么可以让我这样做。

谢谢!

0 投票
4 回答
4658 浏览

asp.net - 编辑并继续在 VS 2010 / ASP.Net MVC 2 中不起作用

尽管在我的 ASP.Net MVC 2 项目的 Web 选项卡上选中了 Enable Edit and Continue,但实际上我无法在运行时更改源代码。例如,如果我在调试器中暂停时尝试编辑控制器,我无法更改文件(就像只读一样)。

我在 ASP.NET web 项目中找到了相关的帖子编辑并继续,但是

  • 答案似乎表明我应该至少能够编辑代码,然后重新加载页面以查看结果。
  • 我不知道 Web 应用程序和网站项目之间的区别是什么