Controllo bug 0x109: CRITICAL_STRUCTURE_CORRUPTION
Il controllo dei bug CRITICAL_STRUCTURE_CORRUPTION ha un valore pari a 0x00000109. Ciò indica che il kernel ha rilevato codice kernel critico o danneggiamento dei dati.
Importante
Questo articolo è destinato ai programmatori. Se si è un cliente che ha ricevuto un codice di errore della schermata blu durante l'uso del computer, vedere Risolvere gli errori della schermata blu.
parametri CRITICAL_STRUCTURE_CORRUPTION
Parametro | Descrizione |
---|---|
1 |
Prenotato |
2 |
Prenotato |
3 |
Prenotato |
4 |
Tipo dell'area danneggiata. Vedere la tabella seguente più avanti in questa pagina. |
Il valore del parametro 4 indica il tipo di area danneggiata.
Parametro 4 | Tipo di area danneggiata, tipo di danneggiamento o tipo di azione eseguita che ha causato il danneggiamento |
---|---|
0x0 |
Un'area dati generica |
0x1 |
Modifica di una funzione |
0x2 |
Tabella dispatch interrupt del processore (IDT) |
0x3 |
Tabella del descrittore globale del processore (GDT) |
0x4 |
Danneggiamento di un elenco di processi di tipo 1 |
0x5 |
Danneggiamento di un elenco di processi di tipo 2 |
0x6 |
Modifica di routine di debug |
0x7 |
Modifica critica di MSR |
0x8 |
Tipo oggetto |
0x9 |
Processore IVT |
0xA |
Modifica di una funzione del servizio di sistema |
0xB |
Un'area dati di sessione generica |
0xC |
Modifica di una funzione di sessione o con estensione pdata |
0xD |
Modifica di una tabella di importazione |
0xE |
Modifica di una tabella di importazione di sessione |
0xf |
Ps Modifica callout Win32 |
0x10 |
Modifica della routine dell'opzione di debug |
0x11 |
Modifica dell'allocatore IRP |
0x12 |
Modifica del dispatcher di chiamata driver |
0x13 |
Modifica del dispatcher di completamento IRP |
0x14 |
Modifica dealloatore IRP |
0x15 |
Registro di controllo del processore |
0x16 |
Modifica del registro di controllo a virgola mobile critica |
0x17 |
Modifica APIC locale |
0x18 |
Modifica del callout delle notifiche del kernel |
0x19 |
Modifica dell'elenco dei moduli caricati |
0x1A |
Danneggiamento dell'elenco dei processi di tipo 3 |
0x1B |
Danneggiamento dell'elenco dei processi di tipo 4 |
0x1C |
Danneggiamento dell'oggetto driver |
0x1D |
Modifica dell'oggetto callback esecutivo |
0x1E |
Modifica della spaziatura interna del modulo |
0x1F |
Modifica di un processo protetto |
0x20 |
Un'area dati generica |
0x21 |
Mancata corrispondenza dell'hash di pagina |
0x22 |
Mancata corrispondenza dell'hash della pagina della sessione |
0x23 |
Caricare la modifica della directory di configurazione |
0x24 |
Modifica della tabella delle funzioni invertita |
0x25 |
Modifica della configurazione della sessione |
0x26 |
Registro di controllo del processore esteso |
0x27 |
Danneggiamento del pool di tipo 1 |
0x28 |
Danneggiamento del pool di tipo 2 |
0x29 |
Danneggiamento del pool di tipo 3 |
0x101 |
Danneggiamento generale del pool |
0x102 |
Modifica di win32k.sys |
Causa
Esistono in genere tre cause diverse per questo controllo dei bug:
Un driver ha accidentalmente o deliberatamente modificato codice o dati critici del kernel. Microsoft Windows Server 2003 con Service Pack 1 (SP1) e versioni successive di Windows per computer basati su x64 non consentono l'applicazione di patch al kernel, tranne tramite patch ad accesso frequente microsoft autorizzato.
Uno sviluppatore ha tentato di impostare un normale punto di interruzione del kernel usando un debugger del kernel non collegato all'avvio del sistema. I normali punti di interruzione (bp) possono essere impostati solo se il debugger è collegato all'ora di inizio. I punti di interruzione del processore (ba) possono essere impostati in qualsiasi momento.
Si è verificato un danneggiamento dell'hardware. Ad esempio, il codice del kernel o i dati potrebbero essere stati archiviati in memoria che non sono riusciti.
Risoluzione
L'estensione di debug !analyze visualizza informazioni sul controllo dei bug e può essere utile per determinare la causa radice.
Per iniziare, esaminare l'analisi dello stack usando il comando k, kb, kc, kd, kp, kP, kv (Display Stack Backtrace). È possibile specificare il numero del processore per esaminare gli stack in tutti i processori.
È anche possibile impostare un punto di interruzione nel codice che conduce a questo codice di arresto e tentare di eseguire un singolo passaggio avanti nel codice di errore.
Per altre informazioni, vedere gli argomenti seguenti:
Analisi del dump di arresto anomalo del sistema usando i debugger di Windows (WinDbg)
Se non si è dotati di usare il debugger Windows per lavorare su questo problema, è possibile usare alcune tecniche di risoluzione dei problemi di base.
Controllare l'accesso di sistema Visualizzatore eventi per ulteriori messaggi di errore che potrebbero aiutare a identificare il dispositivo o il driver che causa questo controllo del bug.
Se un driver viene identificato nel messaggio di controllo dei bug, disabilitare il driver o rivolgersi al produttore per verificare la presenza di aggiornamenti dei driver.
Eseguire lo strumento Diagnostica memoria windows per testare la memoria. Nella casella di ricerca del pannello di controllo digitare Memoria e quindi selezionare Diagnostica dei problemi di memoria del computer. Dopo l'esecuzione del test, usare il Visualizzatore eventi per visualizzare i risultati nel log di sistema. Cercare la voce MemoryDiagnostics-Results per visualizzare i risultati.
È possibile provare a eseguire la diagnostica hardware fornita dal produttore del sistema.
Verificare che qualsiasi nuovo hardware installato sia compatibile con la versione installata di Windows. Ad esempio, puoi ottenere informazioni sull'hardware necessario in Specifiche di Windows 10.
Per altre informazioni generali sulla risoluzione dei problemi, vedere Analizzare i dati della schermata blu di controllo dei bug.