!irql
!irql 延伸模組會在調試程式中斷之前,顯示目標計算機上處理器的中斷要求層級 (IRQL)。
!irql [Processor]
參數
處理器
指定處理器。 輸入處理器編號。 如果省略此參數,調試程式會顯示目前處理器的 IRQL。
DLL
!irql 擴充功能僅適用於 Windows Server 2003 和更新版本的 Windows。
Windows 2000 |
[無法使用] |
Windows XP |
[無法使用] |
Windows Server 2003 和更新版本 |
Kdexts.dll |
其他資訊
如需 IRQLs 的相關信息,請參閱 Windows 驅動程式套件 (WDK) 檔和 Microsoft Mark Russinovich 和 David 所羅門的 Windows 內部 。
備註
當目標計算機中斷至調試程式時,IRQL 會變更,但在儲存調試程式中斷之前生效的 IRQL。 !irql 延伸模組會顯示已儲存的 IRQL。
同樣地,當錯誤檢查發生且建立損毀傾印檔案時,儲存在損毀傾印檔案中的 IRQL 就是錯誤檢查之前的 IRQL,而不是執行 KeBugCheckEx 例程的 IRQL。
在這兩種情況下,目前的 IRQL 會引發為 DISPATCH_LEVEL,但 x86 架構除外。 因此,如果發生多個這類事件,則顯示的 IRQL 也會DISPATCH_LEVEL,使其無法用於偵錯目的。
!np 擴充功能會顯示所有 Windows 版本目前的 IRQL,但目前的 IRQL 通常並不有用。 在錯誤檢查或調試程式連線之前就存在的 IRQL 更有趣,這隻會與 !irql 一起顯示。
如果您提供無效的處理器號碼,或核心損毀,調試程式會顯示「無法取得 PRCB 位址」訊息。
以下是來自雙處理器 x86 電腦的此延伸模組輸出範例:
kd> !irql 0
Debugger saved IRQL for processor 0x0 -- 28 (CLOCK2_LEVEL)
kd> !irql 1
Debugger saved IRQL for processor 0x1 -- 0 (LOW_LEVEL)
如果調試程式處於詳細資訊模式,則會包含 IRQL 本身的描述。
IRQL 號碼的意義通常取決於處理器。 以下是 x64 處理器的範例。 請注意,IRQL 號碼與上一個範例相同,但 IRQL 意義不同:
kd> !irql
Debugger saved IRQL for processor 0x0 -- 12 (SYNCH_LEVEL) [Synchronization level]