Condividi tramite


!irql

L'estensione !irql visualizza il livello di richiesta di interrupt (IRQL) di un processore nel computer di destinazione prima dell'interruzione del debugger.

!irql [Processor] 

Parametri

Processore
Specifica il processore. Immettere il numero del processore. Se questo parametro viene omesso, il debugger visualizza l'IRQL del processore corrente.

DLL

L'estensione !irql è disponibile solo in Windows Server 2003 e versioni successive di Windows.

Windows 2000

Non disponibile

Windows XP

Non disponibile

Windows Server 2003 e versioni successive

Kdexts.dll

Informazioni aggiuntive

Per informazioni sugli IRQLs, vedere la documentazione di Windows Driver Kit (WDK) e le informazioni interne di Microsoft Windows di Mark Russinovich e David Solomon.

Osservazioni:

Quando il computer di destinazione si interrompe nel debugger, il runtime di integrazione viene modificato, ma l'IRQL che è stato effettivo subito prima del salvataggio dell'interruzione del debugger. L'estensione !irql visualizza il runtime di integrazione salvato.

Analogamente, quando si verifica un controllo dei bug e viene creato un file di dump di arresto anomalo del sistema, il runtime di integrazione salvato nel file di dump di arresto anomalo del sistema è quello immediatamente prima del controllo del bug, non del runtime irQL in cui è stata eseguita la routine KeBugCheckEx.

In entrambi i casi, il runtime di integrazione corrente viene generato in DISPATCH_LEVEL, ad eccezione delle architetture x86. Pertanto, se si verifica più di un evento di questo tipo, il runtime di integrazione visualizzato sarà anche DISPATCH_LEVEL, rendendolo inutile a scopo di debug.

L'estensione !pcr visualizza l'IRQL corrente in tutte le versioni di Windows, ma il runtime di integrazione corrente non è in genere utile. Il runtime di integrazione esistente poco prima del controllo del bug o della connessione al debugger è più interessante e viene visualizzato solo con !irql.

Se si specifica un numero di processore non valido o si è verificato un danneggiamento del kernel, il debugger visualizza un messaggio "Impossibile ottenere l'indirizzo PRCB".

Ecco un esempio dell'output di questa estensione da un computer x86 a doppio processore:

kd> !irql 0
Debugger saved IRQL for processor 0x0 -- 28 (CLOCK2_LEVEL)

kd> !irql 1
Debugger saved IRQL for processor 0x1 -- 0 (LOW_LEVEL)

Se il debugger è in modalità dettagliata, viene inclusa una descrizione del runtime di integrazione stesso.

Il significato del numero IRQL dipende spesso dal processore. Di seguito è riportato un esempio di processore x64. Si noti che il numero IRQL è uguale a quello dell'esempio precedente, ma il significato di IRQL è diverso:

kd> !irql
Debugger saved IRQL for processor 0x0 -- 12 (SYNCH_LEVEL) [Synchronization level]