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