Что означает код NTSTATUS 0xC0000374 (STATUS_HEAP_CORRUPTION)?

 
Предыдущий Следующий
STATUS_FAILED_STACK_SWITCH STATUS_SMARTCARD_WRONG_PIN

STATUS_HEAP_CORRUPTION

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

STATUS_HEAP_CORRUPTION (0xC0000374) означает, что Windows обнаружила повреждение внутренних структур heap.

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

Снимите дамп при первом обнаружении и зафиксируйте конкретный heap, повреждённый блок и стек операции allocator, на которой нарушение стало заметно.

  • Используйте PageHeap или Application Verifier, чтобы остановить процесс ближе к исходной неверной записи, а не к более позднему обнаружению повреждения.
  • Типичные причины — выход за границы буфера, двойное освобождение, use-after-free, запись через устаревший указатель или смешивание несовместимых allocators.

Практический смысл и диагностика

  • Место обнаружения почти никогда не доказывает место первичного дефекта: повреждение могло произойти значительно раньше.
  • Не продолжайте выполнение процесса после подтверждённого heap corruption — последующие симптомы и данные могут быть произвольными.
  • Для воспроизведения сопоставьте crash dump со временем выделения/освобождения блока и включите средства проверки памяти именно для подозреваемого процесса.
  • В user mode сохраняйте и исходный статус, и итоговый Win32/COM error. Для воспроизведения полезны Application Verifier/PageHeap, crash dump и stack, на котором allocator впервые обнаружил corruption.
  • STATUS_HEAP_CORRUPTION имеет значение 0xC0000374. Диагностируйте конкретный heap и повреждающий write, а не только API, который последним попытался выделить память.

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


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