!irql
L’extension !irql affiche le niveau de requête d’interruption (IRQL) d’un processeur sur l’ordinateur cible avant l’arrêt du débogueur.
!irql [Processor]
Paramètres
Processeur
Spécifie le processeur. Saisissez le numéro du processeur. Si ce paramètre est omis, le débogueur affiche l'IRQL du processeur actuel.
DLL
L’extension !irql est disponible uniquement dans Windows Server 2003 et versions ultérieures de Windows.
Windows 2000 |
Indisponible |
Windows XP |
Indisponible |
Windows Server 2003 et versions ultérieures |
Kdexts.dll |
Informations supplémentaires
Pour plus d’informations sur les IRQL, consultez la documentation du Windows Driver Kit (WDK) et Microsoft Windows Internals (Au cœur de Windows), de Mark Russinovich et David Solomon.
Notes
Lorsque l’ordinateur cible s'arrête dans le débogueur, l'IRQL change, mais l'IRQL en vigueur avant l'arrêt du débogueur est enregistré. L’extension !irql affiche l'IRQL enregistré.
De même, lorsqu’une vérification de bogue se produit et qu’un fichier de vidage sur incident est créé, l’IRQL enregistré dans ce fichier est celui qui précède immédiatement la vérification de bogue, et non l’IRQL sur lequel la routine KeBugCheckEx a été exécutée.
Dans les deux cas, l'IRQL actuel passe à DISPATCH_LEVEL, sauf sur les architectures x86. Ainsi, si plusieurs événements de ce type se produisent, l’IRQL affiché sera également DISPATCH_LEVEL, et il ne peut plus servir à des fins de débogage.
L’extension !pcr affiche l'IRQL actuel sur toutes les versions de Windows, mais cette information n'est en général pas utile. L'IRQL en place juste avant la vérification du bogue ou la connexion du débogueur est plus intéressant. Cette information s’affiche uniquement avec !irql.
Si vous fournissez un numéro de processeur non valide ou que le noyau est corrompu, le débogueur affiche le message « Impossible d’obtenir l’adresse PRCB ».
Voici un exemple de sortie de cette extension à partir d’un ordinateur x86 à deux processeurs :
kd> !irql 0
Debugger saved IRQL for processor 0x0 -- 28 (CLOCK2_LEVEL)
kd> !irql 1
Debugger saved IRQL for processor 0x1 -- 0 (LOW_LEVEL)
Si le débogueur est en mode détaillé, une description de l'IRQL lui-même est incluse.
La signification du nombre associé à l'IRQL dépend souvent du processeur. Voici un exemple provenant d'un processeur x64. Notez que le nombre associé à l'IRQL est le même que dans l’exemple précédent, mais que sa signification est différente :
kd> !irql
Debugger saved IRQL for processor 0x0 -- 12 (SYNCH_LEVEL) [Synchronization level]