錯誤檢查0xEA:THREAD_STUCK_IN_DEVICE_DRIVER

THREAD_STUCK_IN_DEVICE_DRIVER錯誤檢查的值為 0x000000EA。 這表示設備磁碟機中的執行緒會無限地旋轉。

重要

本文適用于程式設計人員。 如果您是在使用電腦時收到藍色螢幕錯誤碼的客戶,請參閱 針對藍色畫面錯誤進行疑難排解

THREAD_STUCK_IN_DEVICE_DRIVER參數

參數 描述

1

停滯執行緒物件的指標

2

DEFERRED_WATCHDOG 物件的指標

3

違規驅動程式名稱的指標

4

在核心偵錯工具中: 叫用「攔截」錯誤檢查的次數0xEA

在藍色畫面上: 1

原因

裝置驅動程式在無限迴圈中旋轉,最有可能等待硬體閒置。

這通常表示硬體本身發生問題,或裝置驅動程式無法正確設計硬體。 通常,這是不良的視訊卡或不正確的顯示驅動程式的結果。

解決方案

!analyze偵錯延伸模組會顯示錯誤檢查的相關資訊,有助於判斷根本原因。

使用 .thread (搭配參數 1 設定 Register CoNtext) 命令。 然後使用 kb (顯示堆疊回溯) 尋找執行緒停滯的位置。

如果核心偵錯工具已在 Windows 偵測到逾時狀況時連線並執行。 然後 會呼叫 DbgBreakPoint ,而不是 KeBugCheckEx。 詳細的訊息將會列印至偵錯工具。 如需詳細資訊,請參閱將輸出傳送至偵錯。

此訊息將包含錯誤檢查參數的內容。 因為未發出任何實際的錯誤檢查, 所以 .bugcheck (顯示錯誤檢查資料) 命令不會很有用。 您也可以在 32 位系統上使用 dd watchdog!g_WdBugCheckData L5「,或 dq watchdog!g_WdBugCheckData L5」 在 64 位系統上從監看程式全域變數擷取四個參數。

以互動式方式對此錯誤進行偵錯,這可讓您尋找違規執行緒、在其中設定中斷點,然後使用 g (Go) 返回旋轉程式碼以進一步偵錯。

在多處理器電腦上, (OS 組建 3790 或更早版本) ,如果旋轉執行緒因硬體中斷而中斷,且 ISR 或 DPC 常式在錯誤檢查時執行,您可以叫用逾時。 這是因為逾時的工作專案可以在第二個 CPU 上傳遞和處理,同時處理。 如果發生這種情況,您必須更深入地查看違規執行緒的堆疊,以判斷導致逾時發生的旋轉程式碼。 使用 dds (顯示單字和符號) 命令來執行此動作。