C# 编辑并继续:错误 4001

当启用“编辑并继续”后,编辑或删除正在执行的活动语句将会阻止调试会话继续进行

此错误指示尝试编辑或删除活动语句,即执行指针所在的语句。 “编辑并继续”不支持在调试时更改活动语句。

出现此消息的最常见原因是跳出一个函数并返回到调用站点。 调试器返回至对该方法的调用,但尚未转到下一个语句。 在调试器转到下一个语句之前,调用该方法的行将无法编辑。 如果您尝试编辑该行,您将收到此消息。

例如,考虑以下代码:

class Program

{

   static void Example()

   {

      System.Console.WriteLine("Example");

   }

   static void Main()

   {

      Example();

      int a = 5;

   }

}

如果您在 Console.WriteLine 调用上设置了断点,然后开始调试应用程序并跳出 Example 方法,则指令指针仍在 Example 中,因此无法编辑该调用。

更正此错误

  • 从**“调试”菜单中选择“撤消”以撤消更改,然后单步执行直到要编辑的语句不再是活动的或使用“设置下一语句”**以移动指令指针。

    - 或 -

  • 停止调试会话,进行编辑并启动新的调试会话。

请参见

参考

受支持的代码更改 (C#)

编辑并继续 (Visual C#)

其他资源

“编辑并继续”错误和警告 (C#)