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


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

Изменение [метода | свойства | индексатора | оператора | конструктора | деструктора | события], содержащего оператор "stackalloc", препятствует продолжению сеанса отладки, даже во время режима Изменить и продолжить

Предпринята попытка изменить метод, свойство, индексатор, оператор, конструктор, деструктор или событие, содержащее оператор stackalloc. Режим "Изменить и продолжить" не поддерживает такие изменения во время отладки.

Рассмотрим следующий код.

class Program

{

   unsafe static void Main()

   {

      char* p = stackalloc char[256];

      for (int i = 0; i < 256; i++) p[i] = (char)i;

   }

}

Если выполнить шаг в Main, затем попробовать добавить int a = 10 в качестве первой строки функции Main, то возникнет эта ошибка.

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

  • В меню Правка, нажмите кнопку Отменить для отмены изменений кода

    – или –

    В меню Отладка выберите Остановить отладку, затем внесите изменения в код и начните новый сеанс отладки.

См. также

Ссылки

stackalloc (Справочник по C#)

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

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

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

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