共用方式為


核心實時傾印程式代碼參考

本節包含可能發生的常見核心實時傾印程序代碼描述。 實時傾印不會重設OS,但允許擷取記憶體資訊,以取得操作系統可以繼續的異常情況。

注意

本主題適用於程式設計人員。 如果您是系統已顯示藍色畫面且有錯誤檢查程式代碼的客戶,請參閱 針對藍色畫面錯誤進行疑難解答。

與錯誤檢查相比的核心實時傾印

透過傳統的錯誤檢查,計算機重設和使用者的工作會中斷。 核心實時傾印的目標是收集數據,以發生異常情況,但允許OS繼續作業。 相較於錯誤檢查「非致命」但高影響失敗和停止回應,這可減少停機時間。 核心實時傾印可用來將操作系統復原到已知的良好狀態。 例如,子系統的硬體重設,例如視訊/顯示器、USB3 或Wi-Fi,可讓這些系統回到已知的良好狀態,且用戶影響最小。

核心實時傾印會建立核心記憶體的一致快照集,並將它儲存至傾印檔案以供日後分析。 為了將效能的影響降到最低,記憶體複製技術可用來在短時間內建立傾印檔案。 此外,實時傾印的集合會進行節流處理,以便將用戶影響降至最低。

核心實時傾印對於某個項目花費很長的時間,但技術上沒有失敗的問題類別有效。 監視程式定時器可以在作業啟動時初始化。 如果監視程式在作業在預期時間內完成之前到期,則可以取得系統的實時傾印。 然後,您可以透過周遊呼叫堆疊和相關等候鏈結來分析傾印,以調查其未使用預期的時間範圍完成的原因。

當某個項目失敗,且程式代碼擁有者記錄失敗的原因並可以識別原因時,系統記錄良好。 使用監視程式定時器的即時傾印會嘗試攔截未預期和記錄的失敗路徑。 但與每次失敗一樣,系統記錄可能會識別其他問題,這些問題可能會提供失敗的特定根本原因。

核心實時傾印檔案內容

與一般傾印檔案類似,實時傾印檔案可能包含小型傾印(含次要數據),以及完整核心傾印,也可能包含使用者模式記憶體,類似於使用中傾印。 如需傾印檔案內容的一般資訊,請參閱 核心模式傾印檔案的品種。 有些實時傾印只會嘗試擷取小型傾印,因為它們的設計目的是擷取特定的硬體相關數據,而其他傾印則可能會嘗試擷取較大的核心實時傾印。

針對效能、檔案大小和傾印擷取的可靠性,不包含某些資訊,例如清單和檔案快取中的頁面。

實時傾印檔案通常包含記憶體頁面,例如:

  • KdDebuggerBlock
  • 載入的模組清單

針對每個處理器,會在核心傾印中擷取下列資訊:

  • KiProcessorBlock
  • 中國B
  • 目前的堆疊
  • 目前頁面目錄數據表
  • KI_USER_SHARED_DATA
  • NTOS 核心映像
  • HAL 影像

核心傾印中的其他資訊可能包括:

  • 線程/記憶體狀態
  • 記憶體內部記錄

某些即時傾印可能包含使用者模式進程頁面。

其他網域特定數據,例如 USB 失敗的 USB 特定數據,可能會包含一些實時傾印。

部分核心實時傾印檔案

當即時傾印無法可靠地擷取所有預期的記憶體頁面時,可能會產生部分核心實時傾印檔案。 擷取部分傾印中擷取的信息會篩選並設定優先順序,方法是擷取包含在其他頁面之前產生有效傾印所需重要數據的頁面。 例如,當實時傾印包含用戶頁面時,核心頁面會優先於用戶頁面。 在某些情況下,沒有足夠的資源可用來擷取所有預定的選擇性記憶體頁面,因此傾印檔案可能會遺失記憶體。 WinDbg 調試程式仍應辨識傾印檔案,但在嘗試傾印記憶體時可能會顯示錯誤。 如果除錯程式嘗試在位址傾印記憶體時顯示錯誤,您可以使用 !pte 擴充功能來檢查位址的 PTE 是否有效。 這有助於判斷記憶體位址是否真的無效,或頁面是否有效,但無法直接在傾印檔案中使用。

分析即時傾印檔案

發生實時傾印時,可以使用用於其他記憶體轉儲檔案的相同技術來分析傾印檔案。 若要瞭解失敗期間記憶體的內容,需要處理器記憶體緩存器和元件程式設計的知識。

如需詳細資訊,請參閱

使用 WinDbg 顯示即時傾印停止程式代碼資訊

如果本主題中未顯示特定的即時傾印程式碼,請使用 Windows 調試程式 (WinDbg) 中的 !analyze 擴充功能搭配下列語法(在核心模式中),以即時傾印程式代碼取代 <code>

!analyze -show <code>

輸入此命令會導致 WinDbg 顯示指定即時傾印程式代碼的相關信息。 如果您的預設數位基底 (radix) 不是 16,則前置 <code> 詞為 0x

將即時傾印程式代碼參數提供給 !analyze 命令,以顯示任何可用的參數資訊。 例如,若要顯示錯誤檢查0x144 BUGCODE_USB3_DRIVER的相關信息,參數 1 值為 0x3003,請使用 !analyze -show 0x144 0x3003 ,如下所示。

0: kd> !analyze -show 0x144 0x3003
BUGCODE_USB3_DRIVER (144)
This bugcheck usually happens when the USB3 core stack detects an invalid
operation being performed by a USB client. This bugcheck may also occur
due to hardware failure on a USB Boot Device.
Arguments:
Arg1: 0000000000003003, USB3_WER_BUGCODE_USBHUB3_DEVICE_ENUMERATION_FAILURE
	A USB device failed enumeration.
Arg2: 0000000000000000, USBHUB3_LIVEDUMP_CONTEXT
Arg3: 0000000000000000, 0
Arg4: 0000000000000000, 0

若要下載 WinDbg,請參閱 Windows 偵錯工具。 若要深入瞭解 WinDbg 開發工具,請參閱 開始使用 Windows 偵錯。

實時傾印檔案位置

根據預設,實時傾印會儲存在 『C:\WINDOWS\LiveKernelReports』 目錄中。

完整傾印: %systemroot%\LiveKernelReports\*.dmp

Minidumps: %systemroot%\LiveKernelReports\<ComponentName>\*.dmp

目錄結構可用來儲存不同元件的實時傾印。

NDIS
PDCRevocation
PoW32kWatchdog
USBHUB3
WATCHDOG

即時傾印登錄機碼

如需系統產生即時核心報告的組態選項詳細資訊,請參閱 WER 設定

使用 PowerShell 手動觸發實時傾印

  1. 開啟並系統管理員 PowerShell 提示字元。

  2. 使用 Get-StorageSubSystem PowerShell 命令取得 StorageSubsystem 易記名稱。

 C:\> Get-StorageSubSystem
 FriendlyName                     HealthStatus OperationalStatus
 ------------                     ------------ -----------------
 Windows Storage on 10-2411-PC    Healthy      OK
  1. 使用 Get-StorageDiagnosticInfo 為上述子系統產生實時傾印(以及其他診斷記錄)。 如需詳細資訊,請參閱 Get-StorageDiagnosticInfo
 C:\> Get-StorageDiagnosticInfo -StorageSubSystemFriendlyName "Windows Storage on 10-2411-PC" -IncludeLiveDump -DestinationPath C:\destinationfolder
  1. 輸出會指出正在產生要求的資訊。
Gathering storage subsystem diagnostic information                                                                         
Running                                                                                                                 
[oooooooooooo                                                                                              ] 
  1. 傾印將會位於 內 [DestinationPath]\localhost
 C:\> dir C:\destinationfolder\localhost\*.dmp
   Directory: C:\destinationfolder\localhost
 Mode                LastWriteTime         Length Name
 ----                -------------         ------ ----
 -a----         5/5/2016   1:08 PM      867135488 LiveDump.dmp
  1. 使用調試程式在傾印檔案上執行 !analyze 會指出這是 LIVE_SYSTEM_DUMP (161)實時傾印程序代碼。

核心實時傾印程序代碼

下表提供核心實時傾印程式碼的連結。

代碼 名稱
0x000000AB SESSION_HAS_VALID_POOL_ON_EXIT
0x00000117 VIDEO_TDR_TIMEOUT_DETECTED
0x00000141 VIDEO_ENGINE_TIMEOUT_DETECTED
0x00000142 VIDEO_TDR_APPLICATION_BLOCKED
0x00000156 WINSOCK_DETECTED_HUNG_CLOSESOCKET_LIVEDUMP
0x0000015C PDC_WATCHDOG_TIMEOUT_LIVEDUMP
0x0000015D SOC_SUBSYSTEM_FAILURE_LIVEDUMP
0x0000015E BUGCODE_NDIS_DRIVER_LIVE_DUMP
0x0000015F CONNECTED_STANDBY_WATCHDOG_TIMEOUT_LIVEDUMP
0x00000161 LIVE_SYSTEM_DUMP
0x00000165 CLUSTER_CSV_STATUS_IO_TIMEOUT_LIVEDUMP
0x00000166 CLUSTER_RESOURCE_CALL_TIMEOUT_LIVEDUMP
0x00000167 CLUSTER_CSV_SNAPSHOT_DEVICE_INFO_TIMEOUT_LIVEDUMP
0x00000168 CLUSTER_CSV_STATE_TRANSITION_TIMEOUT_LIVEDUMP
0x00000169 CLUSTER_CSV_VOLUME_ARRIVAL_LIVEDUMP
0x0000016A CLUSTER_CSV_VOLUME_REMOVAL_LIVEDUMP
0x0000016B CLUSTER_CSV_CLUSTER_WATCHDOG_LIVEDUMP
0x0000016F CLUSTER_CSV_STATE_TRANSITION_INTERVAL_TIMEOUT_LIVEDUMP
0x00000175 PREVIOUS_FATAL_ABNORMAL_RESET_ERROR
0x00000179 CLUSTER_CLUSPORT_STATUS_IO_TIMEOUT_LIVEDUMP
0x0000017C PDC_LOCK_WATCHDOG_LIVEDUMP
0x0000017D PDC_UNEXPECTED_REVOCATION_LIVEDUMP
0x00000187 VIDEO_DWMINIT_TIMEOUT_FALLBACK_BDD
0x00000188 CLUSTER_CSVFS_LIVEDUMP
0x00000190 WIN32K_CRITICAL_FAILURE_LIVEDUMP
0x00000193 VIDEO_DXGKRNL_LIVEDUMP
0x00000195 SMB_SERVER_LIVEDUMP
0x00000198 UFX_LIVEDUMP
0x0000019D CLUSTER_SVHDX_LIVEDUMP
0x000001A1 WIN32K_CALLOUT_WATCHDOG_LIVEDUMP
0x000001A3 CALL_HAS_NOT_RETURNED_WATCHDOG_TIMEOUT_LIVEDUMP
0x000001A4 DRIPS_SW_HW_DIVERGENCE_LIVEDUMP
0x000001A5 USB_DRIPS_BLOCKER_SURPRISE_REMOVAL_LIVEDUMP
0x000001A6 BLUETOOTH_ERROR_RECOVERY_LIVEDUMP
0x000001A7 SMB_REDIRECTOR_LIVEDUMP
0x000001A8 VIDEO_DXGKRNL_BLACK_SCREEN_LIVEDUMP
0x000001A9 DIRECTED_FX_TRANSITION_LIVEDUMP
0x000001B0 VIDEO_MINIPORT_FAILED_LIVEDUMP
0x000001B8 VIDEO_MINIPORT_BLACK_SCREEN_LIVEDUMP
0x000001C4 DRIVER_VERIFIER_DETECTED_VIOLATION_LIVEDUMP
0x000001C5 IO_THREADPOOL_DEADLOCK_LIVEDUMP
0x000001C9 USER_MODE_HEALTH_MONITOR_LIVEDUMP
0x000001CC EXRESOURCE_TIMEOUT_LIVEDUMP
0x000001D1 TELEMETRY_ASSERTS_LIVEDUMP
0x000001D4 UCMUCSI_LIVEDUMP
0x000001E1 DEVICE_DIAGNOSTIC_LOG_LIVEDUMP
0x000001F5 APPLICATION_HANG_KERNEL_LIVEDUMP
0x000021C8 MANUALLY_INITIATED_BLACKSCREEN_HOTKEY_LIVE_DUMP

這些停止代碼可用於即時傾印或錯誤檢查裝置。

代碼 名稱
0x00000124 WHEA_UNCORRECTABLE_ERROR
0x00000144 BUGCODE_USB3_DRIVER
0x00000164 WIN32K_CRITICAL_FAILURE

另請參閱

錯誤檢查代碼參考

!分析

錯誤檢查 (藍色畫面)

分析錯誤檢查藍屏幕數據