C#, режим "Изменить и продолжить": ошибка 4002
Изменение или удаление активного оператора, который не находится на вершине стека вызовов, не позволит продолжить сеанс отладки в режиме "Изменить и продолжить"
Эта ошибка указывает, что предпринята попытка изменить инструкцию, которая вызвала функцию, находящуюся в настоящее время на вершине стека вызовов. Режим "Изменить и продолжить" не поддерживает этот тип изменений. Дополнительные сведения см. в разделе Активные операторы.
В приведенном ниже примере кода показано, как эта ошибка возникает:
class Program
{
static void Example()
{
System.Console.WriteLine("Example");
}
static void Main()
{
Example();
}
}
Если установить точку останова на Console.WriteLine и начать отладку приложения, то попытка изменения строки в main, которая вызывает Example, приведет к этой ошибке.
Исправление этой ошибки
Пройдите по шагам кода до тех пор, пока инструкция не перестанет быть активной, а затем проведите требуемые изменения.
—или—
Отмените изменения и затем продолжайте отладку без изменений.
—или—
Остановите отладку, внесите изменения, перезапустите сеанс отладки.
См. также
Ссылки
Поддерживаемые изменения кода (C#)
Режим "Изменить и продолжить" (Visual C#)