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


C#, режим "Изменить и продолжить": ошибка 4002

Изменение или удаление активного оператора, который не находится на вершине стека вызовов, не позволит продолжить сеанс отладки в режиме "Изменить и продолжить"

Эта ошибка указывает, что предпринята попытка изменить инструкцию, которая вызвала функцию, находящуюся в настоящее время на вершине стека вызовов. Режим "Изменить и продолжить" не поддерживает этот тип изменений. Дополнительные сведения см. в разделе Активные операторы.

В приведенном ниже примере кода показано, как эта ошибка возникает:

class Program

   {

      static void Example()

   {

   System.Console.WriteLine("Example");

   }

   static void Main()

   {

   Example();

   }

}

Если установить точку останова на Console.WriteLine и начать отладку приложения, то попытка изменения строки в main, которая вызывает Example, приведет к этой ошибке.

Исправление этой ошибки

  • Пройдите по шагам кода до тех пор, пока инструкция не перестанет быть активной, а затем проведите требуемые изменения.

    —или—

    Отмените изменения и затем продолжайте отладку без изменений.

    —или—

    Остановите отладку, внесите изменения, перезапустите сеанс отладки.

См. также

Ссылки

Поддерживаемые изменения кода (C#)

Режим "Изменить и продолжить" (Visual C#)

Другие ресурсы

Ошибки и предупреждения режима "Изменить и продолжить" (C#)