STATUS_STACK_OVERFLOW 0xC00000FD

Esadecimale 0xC00000FD · Decimale -1073741571 · Tipo NTSTATUS

WINDOWS

Messaggio ufficiale (come appare sullo schermo): Stack overflow — the thread exhausted its stack.

Schema di risoluzione dei problemi di Windows: avviso in Gestione dispositivi e scansione dei file di sistema
Errori di Windows: controlla driver, file di sistema e Visualizzatore eventi, in questo ordine.

Che cosa significa

Un thread ha consumato l'intero stack, di solito per una ricorsione senza limiti o riservando grandi frame di stack (array locali grandi) in una catena di chiamate profonda.

Come risolvere STATUS_STACK_OVERFLOW

  1. Nel codice dell'app: cerca una funzione ricorsiva senza caso base (o con un caso base errato); lo stack del crash dump mostra lo schema che si ripete
  2. Aumenta la dimensione dello stack solo come rimedio temporaneo: opzione /STACK del linker, oppure dwStackSize di CREATE_THREAD
  3. Sposta i buffer locali grandi (array, struct) nell'heap (malloc/new): da soli, array da 1 MB nello stack possono causare l'overflow
  4. Se succede in un componente di terze parti: segnala il problema al produttore e aggira limitando la profondità dell'input
  5. Nell'analisi: WinDbg '!analyze -v' mostra direttamente il ciclo di ricorsione

Errori correlati

Fonte: Microsoft ntstatus.h · soluzioni scritte e verificate dalla redazione (vedi la nostra politica editoriale)

Ultimo aggiornamento: