Condividi tramite


Controllo bug 0x20: KERNEL_APC_PENDING_DURING_EXIT

Il controllo KERNEL_APC_PENDING_DURING_EXIT bug ha un valore di 0x00000020. Ciò indica che una chiamata di routine asincrona (APC) è ancora in sospeso quando un thread è terminato.

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.

parametri KERNEL_APC_PENDING_DURING_EXIT

Parametro Descrizione

1

Indirizzo dell'APC trovato in sospeso durante l'uscita

2

Numero di disabilitazione del thread del thread

3

IrQL corrente

4

Riservato

Causa

L'elemento dati chiave è il numero di disabilitazione APC (parametro 2) per il thread. Se il conteggio è diverso da zero, indicherà l'origine del problema.

Il conteggio di disabilitazione APC viene decrementato ogni volta che un driver chiama KeEnterCriticalRegion, FsRtlEnterFileSystem o acquisisce un mutex.

Il conteggio di disabilitazione APC viene incrementato ogni volta che un driver chiama KeLeaveCriticalRegion, KeReleaseMutex o FsRtlExitFileSystem.

Poiché queste chiamate devono essere sempre in coppie, il conteggio di disabilitazione APC deve essere zero quando un thread viene chiuso. Un valore negativo indica che un driver ha disabilitato le chiamate APC senza riattivarle. Un valore positivo indica che il contrario è true.

Se questo errore viene mai visualizzato, essere molto sospetto di tutti i driver installati nel computer, soprattutto driver insoliti o non standard.

Questo irQL corrente (parametro 3) deve essere zero. In caso contrario, la routine di annullamento del driver potrebbe aver causato il controllo del bug restituito in un IRQL con privilegi elevati. In questo caso, notare attentamente cosa è stato eseguito (e cosa è stato chiuso) al momento dell'arresto anomalo e prendere nota di tutti i driver installati al momento dell'arresto anomalo. La causa in questo caso è in genere un bug grave in un driver.

Risoluzione

L'estensione di debug !analizza visualizza informazioni sul controllo dei bug e può essere utile per determinare la causa radice.