在Visual Studio 2017中的未处理异常后启用编辑

boo*_*ife 5 c# visual-studio visual-studio-2017

如何在Visual Studio 2017中处理未处理的异常后继续执行?

在2015版及更低版本中,通过单击Enable Editing"将调用堆栈展开到异常之前的点" 可以轻松完成.然后可以编辑执行点,变量和代码.


当库抛出异常时,此选项消失:

在此输入图像描述

"".Substring(1);
Run Code Online (Sandbox Code Playgroud)

如果用户代码中发生异常,它仍然有效:

在此输入图像描述

int x = 0;
Console.WriteLine(1 / x);
Run Code Online (Sandbox Code Playgroud)

注意可以拖动的黄色箭头.


我真的希望这个功能没有被删除,因为挽救一个崩溃的程序(这里,通过设置x = 1,例如,更改字符串常量或跳过有问题的行)是我做了很多事情.现在我在这种状态下完成了99%的多小时操作,我真的很想通过抑制一个不重要的错误来解救它.

这是.NET 4.6.1上的Visual Studio 2017 build 26228.

Tec*_*ore 2

在 VS2017 中,旧的“启用编辑”被隐藏并自动触发。在调试时,如果执行以下操作,我可以在未处理的异常后编辑代码/变量:

  1. 在文档中单击以将焦点从新的异常助手上移开
  2. 按空格键(或您最喜欢的键!)

或者

  1. 拖动黄色箭头(绿色箭头表示库)。

在按下按键或移动箭头之前,文件选项卡上有一个挂锁,告诉您它已被编辑锁定。之后,就像旧的“启用编辑”功能一样,锁定将被删除。删除编辑锁定的第一次击键不会输入到文件中,此后,编辑代码和变量的行为与以前一样。

我更喜欢像以前一样明确的“启用编辑”链接,希望他们能将其恢复。