问题标签 [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 投票
1 回答
141 浏览

c# - 调试 Prism 应用程序时是否可以使用“编辑并继续”?

我们正在开发一个 Prism 应用程序,并且由于所有模块都是通过 Bootstrapper 使用反射加载的,因此我们不能使用“编辑并继续”功能,这肯定会提高生产力。

有没有办法克服这个问题?

谢谢。

在此处输入图像描述

0 投票
1 回答
310 浏览

.net - 为什么 F# 不支持编辑并继续?

Visual Studio 的 Edit and Continue 和其他 IDE 的等效操作对于交互式应用程序中的实验非常有效,因为您无需重新启动应用程序即可查看代码更改的效果(大部分时间)。如果 Visual Studio 已经支持 C#,那为什么 F# 还不支持呢?F# 的某些方面是否使它变得更加困难?

0 投票
2 回答
1200 浏览

.net - 使用 VS 2013 和 .net 4.5.1 但仍然出现“不允许更改 64 位应用程序”

我在 Win 8.1 x64 上使用带有 Update 2 的 VS 2013 Ultimate,而 VS 不允许我在简单的控制台应用程序上使用编辑和继续。控制台应用程序设置为使用 .net 4.5.1 和 AnyCPU,但每当我尝试在调试时更改代码时,我都会收到可怕的“不允许更改 64 位应用程序”消息框。

我已经尝试确保在工具->选项中启用了编辑并继续。我试过把它关掉然后再打开……不好。我试过禁用我所有的 VS 扩展......没有任何区别。我试过重置为默认的 VS 设置......不。我已经尝试修复我的 VS 安装...什么也没有。我已经尝试验证我的 .net 框架安装...它说我的安装已经过验证,但我仍然遇到同样的问题。

还有人看到这个吗?

0 投票
1 回答
1123 浏览

debugging - 在 Visual Studio (WP8) 中运行应用程序时启用编辑代码

我正在使用 Visual Studio 开发 Windows Phone 8 应用程序,而在应用程序运行时无法更改代码让我抓狂。我每次都爱上它。在停止调试之前尝试更改代码。

通过上述步骤,我可以在应用程序运行时更改代码,但现在我无法更改设计。如何在应用程序运行时启用设计编辑?

0 投票
1 回答
374 浏览

scripting - 支持“编辑并继续”或“热交换”的脚本语言?(也许在 Lua 中可能?)

我正在为非编程用户编写现有的 .Net 应用程序脚本。我添加了 lua,它就像一个魅力。然后我通过 debug.sethook添加了调试功能(暂停/继续/步骤) 。它也像一个魅力。

现在我意识到我的应用程序需要像 Visual Studio 那样的编辑和继续功能。您暂停执行可以编辑代码,然后从当前状态继续应用更改。这个功能对我来说非常重要。我认为这对于脚本语言来说很容易做到。

我在任何地方读到脚本语言都可以做到这一点。但即使经过数小时的搜索,我还没有找到 Lua 实现。它不一定是 Lua,但 Lua 中的热交换代码将是我的首选。

如何为用户提供暂停和编辑脚本并在应用更改后继续执行的能力?

注意:不必是 Lua,每种脚本语言都可以

更新

@Schollii 这是一个例子:

谢谢你的建议。这就是它的工作方式:

  1. 我将使用https://github.com/frabert/NetLua它是一个非常酷、编写良好的 100% C# Lua 解释器。它首先生成一个 AST 树,然后直接执行它。
  2. 解析器需要修改。在 Parser.cspublic Ast.Block ParseString(string Chunk)中首先生成了一个 parseTree。parseTree.tokens[i].locations 包含每个标记的确切位置。然后Irony.Parsing.ParseTree再次解析并转换为a NetLua.Ast.Block,但丢失了位置信息。我需要改变它,所以稍后我会知道哪条语句在哪一行。
  3. 现在 AST 树中的每个 Statement 都直接通过 EvalBlock 执行。需要添加调试功能(就像我在 C Binding lua Interpreter DynamicLua via debug.setHook 中的那样)。这可以在 LuaInterpreter.cs internal static LuaArguments EvalBlock(`. Pause/continue/step 函数中完成。我现在也可以添加当前行突出显示,因为每个语句都包含位置行信息。
  4. 当执行暂停并且代码被编辑时,当前的 LuaContxct 被保存。它包含所有变量。最后一个执行行的最后一个语句也被保存。
  5. 现在,代码 String 再次被解析为新的 AST 树。它被执行。但是所有语句都被跳过,直到到达带有 line 语句的已保存语句。保存LuaContext的被恢复并且可以继续执行所有应用的更改。

新变量也可以在最后执行的行之后添加,因为一个新的NetLua.Ast.AssignmentStatement 可以只向当前的 LuaContext 添加一个新变量,一切都应该正常工作。

这行得通吗?

0 投票
2 回答
553 浏览

visual-studio - VS2013:从 VS2008 升级后,编辑并继续不再有效

我刚刚将我相当大的 MFC 应用程序从 VS2008 升级到 VS2013 Professional。经过一些小的调整后一切正常,除了编辑并继续。例如,中断后,我将代码行“x=2”更改为“x=1”,其中 x 是局部变量。继续我收到以下错误:

“添加、重命名、删除或更改数据类型或初始化的全局或静态变量:___ImageBase(引用:c:\temp\vs2013 (2014_12_20)\process\debug\jlglob.obj)”

要让 EnC 完全正常工作,我必须转到 Tools->Debugging->Edit and Continue,然后启用“Enable native Edit and Continue”。我不确定这是做什么的,但如果没有它检查,我得到的只是一条警告说“源文件已更改......”但它没有尝试重新编译。

我检查了明显的设置:

  • 禁用所有优化

  • 设置“用于编辑和继续 /ZI 的程序数据库”

  • 不使用预编译头文件

  • /安全:否

  • 平台工具集 - Visual Studio 2013 (v120)

  • WinVer = 0x0601

  • 我已删除所有中间文件目录,包括 .tlog 文件。

这是 VS2013 的全新安装,没有从 VS2008 安装中获取设置。知道问题可能是什么吗?

0 投票
1 回答
76 浏览

vb.net - vs2010 项目作为服务参考无法“启用编辑并继续”工作

我在 vs2010 解决方案中有一个三层应用程序。我想通过服务引用编辑从前端调用的代码,而不必停止代码。我可以毫无问题地编辑前端 Web 项目,但是当我尝试编辑逻辑项目或服务项目时,它说“在以下情况下不允许更改......”我可以让它工作的唯一方法是启用本机调试在服务解决方案下,这是可以预期的吗?

0 投票
0 回答
1055 浏览

c# - 在 C# Winforms 应用程序中编辑并继续慢速 Visual Studio 2015

我公司最近从 Visual Studio 2012 升级到 Visual Studio 2015。我们的主要应用程序是一个大型 c# winforms 应用程序。

在 2012 年,我们可以在断点处开始打字,它几乎会立即开始编辑文件。但是,在 VS2015 中,我们通常需要一分钟或更长时间才能开始进行更改。在此期间,Visual Studio GUI 通常会显示(不响应)。最终进行更改后,在我们继续之后,通常需要 30 多秒的时间才能使应用程序响应。

我们团队的多个成员都遇到了这个问题。什么可能导致这种行为?

0 投票
0 回答
180 浏览

visual-studio-2015 - Visual Studio 2015 编辑并继续重复对象字段

我在 Visual Studio 2015 Community 在 Windows 8.1 x64 上调试 32 位 C# 应用程序(C# 6、.NET 4.5.2)时遇到了奇怪的问题。

如果我进行几次编辑和继续迭代(即中断执行、更改某些内容、继续),一段时间后我会NullReferenceException为一个不可能为空的字段抛出一个奇怪的问题。然后,当我将鼠标悬停在this“违规”对象的实例上时,事实证明该对象内部有多个同名字段(对于每对字段,其中一个具有预期值,另一个具有预期值null)。这已经发生了几次,并且在安装 VS2015 Update 1 后也没有修复。

对我来说,这似乎是一个 Roslyn 问题,就像在编辑并继续后重新编译时出现问题一样。这是一个有解决方法的已知问题吗?

0 投票
1 回答
873 浏览

visual-studio-2015 - 动态编译在 ASP.NET 5 RC1 中仍然不起作用?

来自这里的“动态开发”部分的场景 http://weblogs.asp.net/scottgu/introducing-asp-net-5

在 ASP.NET RC1 中不起作用。我开始一个新的 MVC6 项目,用调试器运行它,更改一些字符串,保存更改,没有任何反应。但是,如果我在没有调试的情况下启动项目,它确实有效。此外,它还可以在控制台应用程序中使用,例如,无论有无调试。

我知道这是以前版本的 ASP.NET 5 中的一个问题。它仍然没有修复还是我做错了什么?