Поделиться через


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#)