Что означает код NTSTATUS 0xC00000FD (STATUS_STACK_OVERFLOW)?

 
Предыдущий Следующий
STATUS_REDIRECTOR_STARTED STATUS_NO_SUCH_PACKAGE

STATUS_STACK_OVERFLOW

Что означает STATUS_STACK_OVERFLOW

STATUS_STACK_OVERFLOW означает, что stack текущего thread исчерпан настолько, что Windows больше не может продолжать обычное расширение через guard page.

Что проверить

  • Полный stack trace и повторяющийся цикл функций, включая mutual recursion.
  • Крупные локальные массивы/структуры и функции с необычно большим stack frame.
  • Глубину, зависящую от внешних данных: parser, tree walk, serializer, regex и т. п.

Как исправлять

Уменьшайте recursion depth, переносите крупные данные в heap или заменяйте рекурсию явной очередью. Увеличивать stack reserve стоит только после измерения допустимого worst case. Продолжать обычное выполнение после исчерпания stack опасно; сначала устраните причину и повторите сценарий с теми же входными данными.

Технические ссылки


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