Что означает код ошибки Windows 543 (ERROR_BAD_STACK)?

 
Предыдущий Следующий
ERROR_UNWIND ERROR_INVALID_UNWIND_TARGET

ERROR_BAD_STACK

description[Windows обнаружила недопустимый или неверно выровненный стек при раскрутке.]

Недопустимый стек при раскрутке исключения

ERROR_BAD_STACK означает, что Windows не смогла безопасно пройти или раскрутить текущий стек из-за недопустимой структуры, выравнивания или сохранённого контекста. Обычно это указывает на повреждение памяти, несоответствие ABI или неправильную низкоуровневую обработку исключений.

Вероятные причины

  • Повреждение буфера стека или перезаписанный адрес возврата.
  • Несоответствие соглашений о вызовах на границе функции.
  • Ручной ассемблерный код с неправильными метаданными раскрутки.
  • Использование повреждённой записи контекста или неправильное переключение стеков.

Диагностика

Сохраните полный дамп до продолжения. Проверьте контекст исключения, границы стека, метаданные раскрутки, символы модулей и последние достоверные кадры. Включите защиту потока управления, проверки стека компилятором и Application Verifier, где это применимо.

Обработка

Не пытайтесь продолжить выполнение в повреждённом процессе. Сохраните диагностику и безопасно завершите его. Дефект может быть эксплуатируемым, поэтому в первую очередь исследуйте записи в память, предшествовавшие раскрутке.

Примечание для разработчика

Проверьте собственный ассемблерный и JIT-сгенерированный код на соответствие ABI платформы, включая требуемое выравнивание стека и регистрацию данных раскрутки.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.