Controllo bug 0x18C: HYPERGUARD_VIOLATION
Il controllo HYPERGUARD_VIOLATION bug ha un valore di 0x0000018C. Ciò indica che il kernel ha rilevato che il codice o i dati del kernel critici sono stati danneggiati.
Importante
Questo articolo è destinato ai programmatori. Se si è un cliente che ha ricevuto un codice di errore dello schermo blu durante l'uso del computer, vedere Risolvere gli errori dello schermo blu.
Nota
Questo codice di bug è riservato solo per l'uso da Hyperguard.
Non è un codice di bug di utilizzo generico destinato all'uso da parte di altri componenti negli scenari di danneggiamento dei dati.
Definire invece un codice di bug univoco per il componente.
Non usare questo codice di bug nel componente.
parametri HYPERGUARD_VIOLATION
Parametro | Descrizione |
---|---|
1 | Tipo di area danneggiata: i valori elencati di seguito. |
2 | Informazioni dipendenti dal tipo di errore. |
3 | Riservato. |
4 | Riservato. |
Tipo di area danneggiata
1001 : Area dati generica
1002 : mancata corrispondenza dell'hash di pagina
1004 : IDT processore
1005 : UN processore GDT
1007 : Modifica della routine di debug
1008 : area del codice dinamico
1009 : un'area dati condivisibile generica
100a : Area di sovrapposizione di hypervisor
100b : Configurazione errata della modalità processore
100c : Registro di controllo del processore esteso
100d : area di memoria sicura
100e : modulo caricato
100f : area dello stato del processore
1010 : bitmap del kernel CFG
1011 : Pagina indirizzo virtuale 0
1012 : Tabella di funzioni invertita alternativa
1013 : Verifica della pagina su richiesta non riuscita
1016 : Un'area di immagine sicura
1017 : Protezione degli indirizzi virtuali del kernel inconsitenza
1101 : danneggiamento del contesto interno
1102 : modifica IDTR
1103 : modifica GDTR
Causa
Questo controllo di bug viene generato quando il kernel rileva che il codice o i dati del kernel critici sono stati danneggiati. Esistono in genere tre cause per un danneggiamento:
Un driver ha inavvertitamente o intenzionalmente modificato codice del kernel critico o dati.
Uno sviluppatore ha tentato di impostare un normale punto di interruzione del kernel usando un debugger del kernel che non è stato collegato al momento dell'avvio del sistema. I normali punti di interruzione , "bp", possono essere impostati solo se il debugger è collegato al momento dell'avvio. I punti di interruzione hardware, "ba", possono essere impostati in qualsiasi momento.
Si è verificato un danneggiamento dell'hardware, ad esempio l'errore della RAM che contiene codice o dati del kernel.