| Предыдущий | Следующий |
| ERROR_SWAPERROR | ERROR_INVALID_MESSAGE |
ERROR_STACK_OVERFLOW
Что означает ERROR_STACK_OVERFLOW
ERROR_STACK_OVERFLOW — слишком глубокая рекурсия привела к переполнению стека.
Что проверить
Сохраните указатель стека, адрес инструкции и контекст раскрутки стека в момент исключения.
- Проверьте переполнение или повреждение стека, метаданные раскрутки и соответствие таблицы функций загруженному модулю.
- При переполнении буфера стека сначала анализируйте место повреждения памяти; последующий статус раскрутки стека часто является следствием.
Исходная формулировка
recursion too deep; the stack overflowed.
mutual recursion in parsers, visitors, serializers, or tree walkers.
large automatic arrays or structures allocated on the stack.
sizes of local variables, compiler options, and recent changes to frame layout.
Fix the algorithm or frame size before considering a larger stack. Convert recursive traversal to an explicit work stack where untrusted input can control depth, and enforce documented limits. A larger reserve can be appropriate only after measuring legitimate worst-case depth and its effect on process address space.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.