錯誤檢查0x7F:UNEXPECTED_KERNEL_MODE_TRAP

UNEXPECTED_KERNEL_MODE_TRAP錯誤檢查的 值為 0x0000007F。 這個錯誤檢查表示 Intel CPU 產生陷阱,且核心無法攔截此陷阱。

這個陷阱可以是下列其中一種類型:

  • 系結陷阱,這是不允許核心攔截的陷阱。
  • 雙重錯誤,這是在處理較早的錯誤時發生的錯誤,這一律會導致系統失敗。

重要

本主題適用於程式設計人員。 如果您是在使用計算機時收到藍色螢幕錯誤碼的客戶,請參閱 針對藍色畫面錯誤進行疑難解答

參數 1

出現在藍色畫面上的第一個參數會指定陷阱編號。

最常見的陷阱編號如下:

參數 設陷程序代碼 描述
0x00000000 除以零錯誤 表示執行 DIV 指令,且除數為零。 記憶體損毀、其他硬體問題或軟體失敗可能會導致此錯誤。
0x00000004 溢位 當處理器在設定溢位 (OF) 旗標時,執行中斷處理程式的呼叫時發生。
0x00000005 界限檢查錯誤 表示處理器在執行 BOUND 指令時,發現操作數超過指定的限制。 BOUND 指令可確保帶正負號的數位索引在特定範圍內。
0x00000006 無效的 Opcode 表示處理器嘗試執行無效的指令。 當指令指標損毀且指向錯誤的位置時,通常會發生此錯誤。 此錯誤最常見的原因是硬體記憶體損毀。
0x00000008 雙錯誤 表示在呼叫先前例外狀況的處理程式期間發生例外狀況。 一般而言,會以序列方式處理這兩個例外狀況。 有數個無法以序列方式處理的例外狀況,因此處理器會發出雙重錯誤的訊號。

雙重錯誤有兩個常見原因:

  • 第一個原因是核心堆疊溢位。 叫用防護頁面時,就會發生此溢位,而核心會嘗試推送陷阱框架。 因為沒有剩餘的堆疊,所以堆疊溢位會導致雙重錯誤。 如果您認為這種情況已發生,請使用 !thread 延伸模組來判斷堆棧限制,然後使用 kb (顯示堆棧回溯) 命令,例如 kb 100 來顯示完整堆棧。
  • 第二個常見原因是硬體問題。

較不常見的陷阱程式代碼包含下列值:

  • 0x00000001:系統調試程式呼叫 (DEBUG)
  • 0x00000003:調試程序斷點 (INT3)
  • 0x00000007:沒有共同處理器的硬體共同處理器指令 (NXP_NOT_AVAILABLE)
  • 0x0000000A:已損毀的工作狀態區段 (INVALID_TSS)
  • 0x0000000B:沒有 (SEGMENT_NOT_PRESENT) 記憶體區段的存取權
  • 0x0000000C:超過堆疊限制的記憶體存取權 (STACK_FAULT)
  • 0x0000000D:某些其他例外狀況未涵蓋的例外狀況、與應用程式存取違規相關的保護錯誤 (GP_FAULT)
  • 0x0000000F:保留的陷阱例外狀況 (RESERVED_TRAP)
  • 0x00000010:硬體共同處理器例外狀況 (NPX_ERROR)
  • 0x00000011:對齊檢查例外狀況 (ALIGNMENT_CHECK)

如需其他陷阱號碼,請參閱 Intel 處理器架構手冊,以取得您要疑難解答的處理器。

原因

錯誤檢查0x7F通常會在您安裝錯誤或不相符的硬體之後發生,特別是記憶體,或如果安裝的硬體失敗。

當核心堆疊溢位時,可能會發生雙重錯誤。 如果多個驅動程式附加至相同的堆疊,就會發生此溢位。 例如,如果兩個文件系統篩選驅動程序連結至相同的堆疊,然後檔系統會遞歸回,堆疊會溢位。

偵錯

請一律以 !analyze 延伸模組開頭,其中包含 -v 選項,詳細資訊。 檢查輸出和錯誤碼。 尋找多個傾印中的遞歸趨勢。

嘗試 !analyze 之後,請使用 kv (顯示堆棧回溯) 調試程式命令。

使用其中一個命令之後,再次使用 kv 來顯示新的堆疊。

疑難排解

硬體

如果您最近將硬體新增至計算機,請將其移除,以查看錯誤是否遞歸。 如果現有的硬體失敗,請移除或取代錯誤的元件。 執行系統製造商提供的硬體診斷,以判斷哪些硬體元件失敗。

錯誤或不相符的記憶體可能會導致這個錯誤檢查。 使用 Windows 中的記憶體診斷程式來測試所有系統記憶體。

確認所有硬碟和硬碟控制器都與已安裝的 Windows 版本相容。

系統主機板可能會發生問題,例如已暫存的追蹤或瑕疵的元件。 故障的電源供應器也可能造成問題。

過度鎖定 是將 CPU 設定為以高於分級規格的速度執行,這可能會導致此錯誤。 如果您已覆寫發生錯誤的計算機,請將CPU傳回預設時鐘速度設定。 停用 BIOS 的記憶體快取,以嘗試在該選項可用時解決問題。

軟體

請檢查系統登入 事件檢視器 是否有其他可能有助於識別造成錯誤之裝置或驅動程式的錯誤訊息。

檢查硬體製造商的ACPI/BIOS、硬碟控制器或網路卡的更新可用性。

如果在安裝新的或更新的裝置驅動程序之後發生錯誤,請移除或取代驅動程式。 如果在此情況下,在啟動順序期間發生錯誤,請使用安全模式重新命名或刪除錯誤的驅動程式。 如果在安全模式中將驅動程序當做系統啟動程式的一部分使用,請使用復原控制台啟動計算機,以存取檔案。 請嘗試 [上次已知良好組態] 選項。 當您一次只新增一個驅動程式或服務時,此選項最有效。

如果您在升級至新版本的 Windows 作業系統時遇到此錯誤,錯誤可能是因為不相容的軟體所造成。 範例包括設備驅動器、系統服務、病毒掃描器或備份工具。 可能的話,請先移除所有第三方設備驅動器和系統服務,並在升級之前停用任何病毒掃描器。 請連絡軟體製造商以取得這些工具的更新。 此外,請確定您已安裝最新的 Windows 更新。

另請參閱