停止或藍色螢幕錯誤的進階疑難解答

試用虛擬代理程式 - 它可協助您快速識別並修正常見的 Windows 開機問題

注意事項

如果您不是支援代理程式或IT專業人員,您會在針對 藍色螢幕錯誤進行疑難解答中找到有關停止錯誤 (「藍色畫面」) 訊息的更實用資訊。

適用於: 支援的 Windows Server 和 Windows 用戶端版本

造成停止錯誤的原因為何?

當 Windows 遇到危害安全系統作業的條件時,系統會停止。 範例包括可能會危害安全性或導致操作系統 (操作系統) 和/或用戶數據損毀的問題。 當機器停止以防止操作系統在這些情況下向前移動時,稱為錯誤檢查 (或錯誤檢查) 。 這通常也稱為系統當機、核心錯誤、藍色畫面、 (BSOD) 的藍色畫面,或停止錯誤。 在 Windows 的預覽版本中,螢幕色彩可以是綠色,導致 GSOD) (的綠色畫面。

沒有關於停止錯誤原因的簡單說明。 可能牽涉到許多不同的因素。 我們對當機根本原因的分析指出:

  • 70% 是由第三方驅動程式程式代碼所造成。
  • 10% 是由硬體問題所造成。
  • 5% 是由 Microsoft 程式代碼所造成。
  • 15% 有未知的原因,因為記憶體太損毀而無法分析。

注意事項

停止錯誤的根本原因很少是使用者模式程式。 雖然記事本或 Slack) 等使用者模式程式 (可能會觸發停止錯誤,但通常會在驅動程式、硬體或操作系統中公開基礎問題。

一般疑難解答步驟

若要針對停止錯誤訊息進行疑難解答,請遵循下列一般步驟:

  1. 檢閱您在事件記錄檔中找到的停止錯誤碼。 在在線搜尋特定的停止錯誤碼,以查看是否有任何已知問題、解決方法或因應措施。

  2. 請確定您已安裝最新的 Windows 更新、累積更新和匯總更新。 若要確認更新狀態,請參閱您系統的適當更新歷程記錄。 例如:

  3. 請確定 BIOS 和韌體是最新的。

  4. 執行任何相關的硬體和記憶體測試。

  5. 執行 Microsoft 安全掃描工具或其他任何包含 MBR 感染檢查的病毒偵測程式。

  6. 請確定硬碟有足夠的可用空間。 確切的需求會有所不同,但我們建議 10-15% 的可用磁碟空間。

  7. 請連絡個別的硬體或軟體廠商,在下列案例中更新驅動程式和應用程式:

    • 錯誤訊息指出特定驅動程式造成問題。
    • 您會看到在損毀發生之前啟動或停止的服務指示。 在此情況下,請判斷所有損毀實例的服務行為是否一致。
    • 您已進行任何軟體或硬體變更。

    注意事項

    如果特定製造商沒有可用的更新,建議您停用相關服務。

    如需詳細資訊,請參閱 如何在 Windows 中執行全新開機

    您可以遵循 如何在 Windows 中暫時停用內核模式篩選驅動程式中的步驟來停用驅動程式。

    您也可以考慮復原變更或還原為最後已知工作狀態的選項。 如需詳細資訊,請參閱 將設備驅動器復原至舊版

記憶體轉儲集合

若要設定記憶體轉儲檔案的系統,請遵循下列步驟:

  1. 選取 [任務欄] 搜尋方塊,輸入 [進階系統設定],然後按 Enter。
  2. 在 [系統屬性] 方塊的 [階] 索引標籤上,選取 [啟動和復原] 區段中出現的 [設定] 按鈕。
  3. 在新視窗中,選取 [ 寫入偵錯資訊] 選項下方的下拉式清單。
  4. 選擇 [自動記憶體轉儲]
  5. 選取 [確定]
  6. 重新啟動電腦,讓設定生效。
  7. 如果伺服器已虛擬化,請在建立記憶體傾印檔案之後停用自動重新啟動。 此停用可讓您擷取處於狀態的伺服器快照集,以及問題發生時的快照集。

記憶體轉儲檔案會儲存在下列位置:

傾印檔類型 位置
(無) %SystemRoot%\MEMORY。DMP (非作用中,或呈現灰色)
小型記憶體轉儲檔案 (256 kb) %SystemRoot%\Minidump
核心記憶體傾印檔案 %SystemRoot%\MEMORY。DMP
完成記憶體轉儲檔案 %SystemRoot%\MEMORY。DMP
自動記憶體轉儲檔案 %SystemRoot%\MEMORY。DMP
使用中記憶體轉儲檔案 %SystemRoot%\MEMORY。DMP

您可以使用 Microsoft 損毀傾印檔案檢查程式 (DumpChk) 工具來確認記憶體傾印檔案未損毀或無效。 如需詳細資訊,請參閱下列影片:

如需如何使用 Dumpchk.exe 檢查傾印檔案的詳細資訊,請參閱下列文章:

頁面檔設定

如需頁面檔設定的詳細資訊,請參閱下列文章:

記憶體轉儲分析

尋找損毀的根本原因可能並不容易。 硬體問題特別難以診斷,因為它們可能會造成不穩定且無法預測的行為,而這些行為可能會顯示在各種徵兆中。

發生停止錯誤時,您應該先隔離有問題的元件,然後嘗試讓它們再次觸發停止錯誤。 如果您可以復寫問題,通常可以判斷原因。

您可以使用 Windows 軟體開發套件 (SDK) 和符號等工具來診斷傾印記錄。 下一節討論如何使用此工具。

進階疑難解答步驟

注意事項

如果您沒有程式設計和內部 Windows 機制的經驗,則對損毀傾印進行進階疑難解答可能會非常具挑戰性。 我們嘗試在這裡提供一些所使用技術的簡短見解,包括一些範例。 不過,若要真正有效地針對損毀傾印進行疑難解答,您應該花時間熟悉進階偵錯技術。 如需影片概觀, 請參閱偵錯核心模式損毀和停止回應。 另請參閱下面所列的進階參考。

進階偵錯參考

偵錯步驟

  1. 確認計算機已設定為在當機時產生完整的記憶體轉儲檔案。 如需詳細資訊,請參閱 方法 1:記憶體轉儲

  2. 在損 的計算機上,找出 Windows 目錄中的memory.dmp檔案,然後將該檔案複製到另一部計算機。

  3. 在其他電腦上,下載 Windows 10 SDK

  4. 啟動安裝,然後選擇 [ 適用於 Windows 的偵錯工具]。 已安裝 WinDbg 工具。

  5. 移至 [ 檔案] 功能表,然後選取 [符號檔案路徑 ] 以開啟 WinDbg 工具並設定符號路徑。

    1. 如果計算機已連線到因特網,請輸入 Microsoft 公用符號伺服器https://msdl.microsoft.com/download/symbols ,然後選取 [ 確定]。 建議使用這個方法。
    2. 如果電腦未連線到因特網,請指定本機 符號路徑
  6. 取 [開啟損毀傾印],然後開啟您複製 的memory.dmp 檔案。

    開啟損毀傾印檔案時,WinDbg 中範例輸出的螢幕快照。

  7. [錯誤檢查分析] 底下,選取 !analyze -v。 命令 !analyze -v 會在頁面底部的提示字元中輸入。

  8. 詳細的錯誤檢查分析隨即出現。

    詳細錯誤檢查分析範例的螢幕快照。

  9. 向下捲動至 [STACK_TEXT ] 區段。 每個數據列後面都會有一個冒號和一些文字,會有一列數位。 該文字應該會告訴您造成當機的 DLL。 如果適用,它也會顯示哪些服務損毀 DLL。

  10. 如需如何解譯STACK_TEXT輸出的詳細資訊,請參閱 使用 !analyze 擴充功能

錯誤檢查有許多可能的原因,而且每個案例都是唯一的。 在上述範例中,可從STACK_TEXT識別的重要行為 20、21 和 22:

注意事項

這裡會移除 HEX 數據,並編號行以清楚明瞭。

1  : nt!KeBugCheckEx
2  : nt!PspCatchCriticalBreak+0xff
3  : nt!PspTerminateAllThreads+0x1134cf
4  : nt!PspTerminateProcess+0xe0
5  : nt!NtTerminateProcess+0xa9
6  : nt!KiSystemServiceCopyEnd+0x13
7  : nt!KiServiceLinkage
8  : nt!KiDispatchException+0x1107fe
9  : nt!KiFastFailDispatch+0xe4
10 : nt!KiRaiseSecurityCheckFailure+0x3d3
11 : ntdll!RtlpHpFreeWithExceptionProtection$filt$0+0x44
12 : ntdll!_C_specific_handler+0x96
13 : ntdll!RtlpExecuteHandlerForException+0xd
14 : ntdll!RtlDispatchException+0x358
15 : ntdll!KiUserExceptionDispatch+0x2e
16 : ntdll!RtlpHpVsContextFree+0x11e
17 : ntdll!RtlpHpFreeHeap+0x48c
18 : ntdll!RtlpHpFreeWithExceptionProtection+0xda
19 : ntdll!RtlFreeHeap+0x24a
20 : FWPolicyIOMgr!FwBinariesFree+0xa7c2
21 : mpssvc!FwMoneisDiagEdpPolicyUpdate+0x1584f
22 : mpssvc!FwEdpMonUpdate+0x6c
23 : ntdll!RtlpWnfWalkUserSubscriptionList+0x29b
24 : ntdll!RtlpWnfProcessCurrentDescriptor+0x105
25 : ntdll!RtlpWnfNotificationThread+0x80
26 : ntdll!TppExecuteWaitCallback+0xe1
27 : ntdll!TppWorkerThread+0x8d0
28 : KERNEL32!BaseThreadInitThunk+0x14
29 : ntdll!RtlUserThreadStart+0x21

此問題是因為 mpssvc 服務是 Windows 防火牆的元件。 此問題已透過暫時停用防火牆,然後重設防火牆原則來修復。

如需更多範例,請 參閱偵錯範例

影片資源

下列影片說明分析傾印檔案的各種疑難解答技術。

使用驅動程式驗證器進行進階疑難解答

我們估計大約 75% 的所有停止錯誤都是由錯誤驅動程式所造成。 驅動程式驗證器工具提供數種方法來協助您進行疑難解答。 這些包括在隔離的記憶體集區中執行驅動程式 (而不與其他元件共用記憶體) 、產生極端的記憶體壓力,以及驗證參數。 如果工具在執行驅動程式程式代碼時遇到錯誤,它會主動建立例外狀況。 然後,它可以進一步檢查程式代碼的該部分。

警告

驅動程式驗證程式會耗用大量CPU,而且可能會大幅降低電腦的速度。 您也可能會遇到其他當機。 驗證器會在發生停止錯誤之後停用錯誤的驅動程式,並繼續執行此動作,直到您可以成功重新啟動系統並存取桌面為止。 您也可以預期會看到已建立數個傾印檔案。

請勿嘗試一次驗證所有驅動程式。 此動作可能會降低效能,並使系統無法使用。 它也會限制工具的有效性。

當您使用驅動程式驗證器時,請使用下列指導方針:

  • 測試任何「可疑」驅動程式。 例如,最近更新或已知有問題的驅動程式。
  • 如果您繼續遇到無法分析的損毀,請嘗試在所有第三方和未簽署的驅動程式上啟用驗證。
  • 在 10-20 個驅動程式的群組上啟用並行驗證。
  • 此外,如果計算機因為驅動程式驗證器而無法開機到桌面,您可以從安全模式啟動來停用工具。 此解決方案是因為工具無法在安全模式中執行。

如需詳細資訊,請參閱 驅動程序驗證器

常見的 Windows 停止錯誤

本節不包含所有錯誤碼的清單,但由於許多錯誤碼具有相同的可能解決方式,因此您的最佳選擇是遵循下列步驟來針對錯誤進行疑難解答。 如需停止錯誤碼的完整清單,請參閱 Bug 檢查程式代碼參考

下列各節列出常見停止錯誤碼的一般疑難解答程式。

VIDEO_ENGINE_TIMEOUT_DETECTED或VIDEO_TDR_TIMEOUT_DETECTED

停止錯誤碼0x00000141或0x00000117

請連絡所列顯示驅動程式的廠商,以取得該驅動程式的適當更新。

DRIVER_IRQL_NOT_LESS_OR_EQUAL

停止錯誤碼0x0000000D1

透過 Microsoft Update Catalog 網站套用系統的最新累積更新,以套用驅動程式的最新更新。 更新過期的網路驅動程式。 虛擬化 VMware 系統通常會執行「Intel (R) PRO/1000 MT 網路連線」 (e1g6032e.sys) 。 您可以從 Intel 下載驅動程式 & 軟體網站下載此驅動程式。 請連絡硬體廠商以更新網路驅動程式以取得解決方案。 針對 VMware 系統,請使用 VMware 整合式網路驅動程式,而不是 Intel 的 e1g6032e.sys。 例如,使用 VMware 類型 VMXNET、VMXNET2或VMXNET3。

PAGE_FAULT_IN_NONPAGED_AREA

停止錯誤碼0x000000050

如果在停止錯誤訊息中識別出驅動程式,請連絡製造商以取得更新。 如果沒有可用的更新,請停用驅動程式,並監視系統的穩定性。 執行 chkdsk /f /r 以偵測和修復磁碟錯誤。 在系統分割區上開始磁碟掃描之前,請重新啟動系統。 請連絡製造商以取得他們可為硬碟子系統提供的任何診斷工具。 嘗試重新安裝最近安裝或更新的任何應用程式或服務。 當系統啟動應用程式並讀取登錄以取得喜好設定時,可能會觸發當機。 重新安裝應用程式可以修正損毀的登錄機碼。 如果問題持續發生,而且您已執行最近的系統狀態備份,請嘗試從備份還原登錄區。

SYSTEM_SERVICE_EXCEPTION

停止錯誤碼 c000021a {嚴重系統錯誤} Windows 子系統進程意外終止,狀態為 0xc0000005。 系統已關閉。

使用系統檔案檢查工具來修復遺失或損毀的系統檔案。 系統檔案檢查程式可讓用戶掃描 Windows 系統檔案中的損毀,並還原損毀的檔案。 如需詳細資訊,請 參閱使用系統檔案檢查工具

NTFS_FILE_SYSTEM

停止錯誤碼0x000000024

此停止錯誤通常是因為NTFS檔系統損毀,或是硬碟上) 扇區 (區塊不正確所造成。 (SATA 或 IDE) 的硬碟驅動程式損毀,也可能對系統讀取和寫入磁碟的能力造成負面影響。 執行記憶體子系統製造商所提供的任何硬體診斷。 使用掃描磁碟工具來確認沒有任何檔案系統錯誤。 若要執行此步驟,請以滑鼠右鍵按下您要掃描的磁碟驅動器,選取 [屬性],選取 [工具],然後選取 [立即檢查] 按鈕。 更新 NTFS 檔案系統驅動程式 (Ntfs.sys) 。 針對目前發生問題的作業系統套用最新的累積更新。

KMODE_EXCEPTION_NOT_HANDLED

停止錯誤碼0x0000001E

如果在停止錯誤訊息中識別出驅動程式,請停用或移除該驅動程式。 停用或移除最近新增的任何驅動程序或服務。

如果在啟動順序期間發生錯誤,且系統分割區是使用NTFS檔案系統來格式化,您或許可以使用安全模式在裝置管理員 中停用驅動程式。 若要停用驅動程式,請遵循下列步驟:

  1. 移至 [ 設定>更新 & 安全>性復原]
  2. 在 [ 進階啟動] 底下,選取 [ 立即重新啟動]
  3. 在計算機重新啟動至 [選擇選項] 畫面之後,選取 [進階選項疑難解答>][啟動設定>>重新啟動]
  4. 計算機重新啟動之後,您會看到選項清單。 按 4 或 F4 以安全模式啟動電腦。 如果您想要在安全模式中使用因特網,請按 5 或 F5 以取得 [安全模式與網路 ] 選項。

DPC_WATCHDOG_VIOLATION

停止錯誤碼0x00000133

此停止錯誤碼是由錯誤驅動程式所造成,該驅動程式在特定情況下未在配置的時間範圍內完成其工作。 若要協助減輕此錯誤,請從系統收集記憶體轉儲檔案,然後使用 Windows 調試程式來尋找錯誤的驅動程式。 如果在停止錯誤訊息中識別出驅動程式,請停用驅動程式以隔離問題。 請洽閱製造商以取得驅動程式更新。 檢查系統登入 事件檢視器 中是否有其他錯誤訊息,這些錯誤訊息可能有助於識別造成停止錯誤0x133的裝置或驅動程式。 確認任何已安裝的新硬體都與已安裝的 Windows 版本相容。 例如,您可以在 Windows 10 規格取得必要硬體的相關信息。 如果已安裝 Windows 調試程式,而且您可以存取公用符號,您可以將 c:\windows\memory.dmp 檔案載入調試程式中。 然後參閱判斷錯誤檢查的來源0x133 (DPC_WATCHDOG_VIOLATION) Windows Server 2012 上的錯誤,以從記憶體轉儲尋找有問題的驅動程式。

USER_MODE_HEALTH_MONITOR

停止錯誤碼0x0000009E

此停止錯誤表示使用者模式健康情況檢查失敗,導致無法正常關機。 Windows 會藉由重新啟動或啟用應用程式故障轉移至其他伺服器來還原重要服務。 叢集服務納入偵測機制,可偵測使用者模式元件中的無回應。

此停止錯誤通常會在叢集環境中發生,而且會 RHS.exe 指出的錯誤驅動程式。 檢查事件記錄檔中是否有任何記憶體失敗,以識別失敗的程式。 嘗試更新事件記錄檔中所指出的元件或進程。 您應該會看到下列事件記錄下來:

  • 事件標識碼:4870
  • 來源:Microsoft-Windows-FailoverClustering
  • 描述:使用者模式健康情況監視偵測到系統沒有回應。 故障轉移叢集虛擬適配器與進程標識碼為 『%1』的叢集伺服器進程中斷聯繫,時間為 『%2』秒。 已採取復原動作。 檢閱叢集記錄以識別程式,並調查哪些專案可能會造成進程停止回應。

如需詳細資訊, 請參閱「0x0000009E」在 Windows Server 型多節點故障轉移叢集環境中的叢集節點上停止錯誤 。此外,請參閱下列 Microsoft 影片 :如果發生 9E,該怎麼辦

偵錯範例

範例 1

此錯誤檢查是由升級期間的驅動程式停止回應所造成,導致 NDIS.sys中的錯誤檢查 D1 ,這是 Microsoft 驅動程式。 IMAGE_NAME會告訴您錯誤的驅動程式,但因為此驅動程式是 Microsoft 驅動程式,所以無法加以取代或移除。 解決方法是在設備管理器中停用網路裝置,然後再試一次升級。

2: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1)
An attempt was made to access a pageable (or completely invalid) address at an
interrupt request level (IRQL) that is too high.  This is usually
caused by drivers using improper addresses.
If kernel debugger is available get stack backtrace.
Arguments:
Arg1: 000000000011092a, memory referenced
Arg2: 0000000000000002, IRQL
Arg3: 0000000000000001, value 0 = read operation, 1 = write operation
Arg4: fffff807aa74f4c4, address which referenced memory
Debugging Details:
------------------

KEY_VALUES_STRING: 1
STACKHASH_ANALYSIS: 1
TIMELINE_ANALYSIS: 1
DUMP_CLASS: 1
DUMP_QUALIFIER: 400
SIMULTANEOUS_TELSVC_INSTANCES:  0
SIMULTANEOUS_TELWP_INSTANCES:  0
BUILD_VERSION_STRING:  16299.15.amd64fre.rs3_release.170928-1534
SYSTEM_MANUFACTURER:  Alienware
SYSTEM_PRODUCT_NAME:  Alienware 15 R2
SYSTEM_SKU:  Alienware 15 R2
SYSTEM_VERSION:  1.2.8
BIOS_VENDOR:  Alienware
BIOS_VERSION:  1.2.8
BIOS_DATE:  01/29/2016
BASEBOARD_MANUFACTURER:  Alienware
BASEBOARD_PRODUCT:  Alienware 15 R2
BASEBOARD_VERSION:  A00
DUMP_TYPE:  2
BUGCHECK_P1: 11092a
BUGCHECK_P2: 2
BUGCHECK_P3: 1
BUGCHECK_P4: fffff807aa74f4c4
WRITE_ADDRESS: fffff80060602380: Unable to get MiVisibleState
Unable to get NonPagedPoolStart
Unable to get NonPagedPoolEnd
Unable to get PagedPoolStart
Unable to get PagedPoolEnd
000000000011092a 
CURRENT_IRQL:  2
FAULTING_IP: 
NDIS!NdisQueueIoWorkItem+4 [minio\ndis\sys\miniport.c @ 9708]
fffff807`aa74f4c4 48895120        mov     qword ptr [rcx+20h],rdx
CPU_COUNT: 8
CPU_MHZ: a20
CPU_VENDOR:  GenuineIntel
CPU_FAMILY: 6
CPU_MODEL: 5e
CPU_STEPPING: 3
CPU_MICROCODE: 6,5e,3,0 (F,M,S,R)  SIG: BA'00000000 (cache) BA'00000000 (init)
BLACKBOXPNP: 1 (!blackboxpnp)
DEFAULT_BUCKET_ID:  WIN8_DRIVER_FAULT
BUGCHECK_STR:  AV
PROCESS_NAME:  System
ANALYSIS_SESSION_HOST:  SHENDRIX-DEV0
ANALYSIS_SESSION_TIME:  01-17-2019 11:06:05.0653
ANALYSIS_VERSION: 10.0.18248.1001 amd64fre
TRAP_FRAME:  ffffa884c0c3f6b0 -- (.trap 0xffffa884c0c3f6b0)
NOTE: The trap frame doesn't contain all registers.
Some register values may be zeroed or incorrect.
rax=fffff807ad018bf0 rbx=0000000000000000 rcx=000000000011090a
rdx=fffff807ad018c10 rsi=0000000000000000 rdi=0000000000000000
rip=fffff807aa74f4c4 rsp=ffffa884c0c3f840 rbp=000000002408fd00
r8=ffffb30e0e99ea30  r9=0000000001d371c1 r10=0000000020000080
r11=0000000000000000 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei ng nz na pe nc
NDIS!NdisQueueIoWorkItem+0x4:
fffff807`aa74f4c4 48895120        mov     qword ptr [rcx+20h],rdx ds:00000000`0011092a=????????????????
Resetting default scope

LAST_CONTROL_TRANSFER:  from fffff800603799e9 to fffff8006036e0e0

STACK_TEXT:  
ffffa884`c0c3f568 fffff800`603799e9 : 00000000`0000000a 00000000`0011092a 00000000`00000002 00000000`00000001 : nt!KeBugCheckEx [minkernel\ntos\ke\amd64\procstat.asm @ 134] 
ffffa884`c0c3f570 fffff800`60377d7d : fffff78a`4000a150 ffffb30e`03fba001 ffff8180`f0b5d180 00000000`000000ff : nt!KiBugCheckDispatch+0x69 [minkernel\ntos\ke\amd64\trap.asm @ 2998] 
ffffa884`c0c3f6b0 fffff807`aa74f4c4 : 00000000`00000002 ffff8180`f0754180 00000000`00269fb1 ffff8180`f0754180 : nt!KiPageFault+0x23d [minkernel\ntos\ke\amd64\trap.asm @ 1248] 
ffffa884`c0c3f840 fffff800`60256b63 : ffffb30e`0e18f710 ffff8180`f0754180 ffffa884`c0c3fa18 00000000`00000002 : NDIS!NdisQueueIoWorkItem+0x4 [minio\ndis\sys\miniport.c @ 9708] 
ffffa884`c0c3f870 fffff800`60257bfd : 00000000`00000008 00000000`00000000 00000000`00269fb1 ffff8180`f0754180 : nt!KiProcessExpiredTimerList+0x153 [minkernel\ntos\ke\dpcsup.c @ 2078] 
ffffa884`c0c3f960 fffff800`6037123a : 00000000`00000000 ffff8180`f0754180 00000000`00000000 ffff8180`f0760cc0 : nt!KiRetireDpcList+0x43d [minkernel\ntos\ke\dpcsup.c @ 1512] 
ffffa884`c0c3fb60 00000000`00000000 : ffffa884`c0c40000 ffffa884`c0c39000 00000000`00000000 00000000`00000000 : nt!KiIdleLoop+0x5a [minkernel\ntos\ke\amd64\idle.asm @ 166] 

RETRACER_ANALYSIS_TAG_STATUS:  Failed in getting KPCR for core 2
THREAD_SHA1_HASH_MOD_FUNC:  5b59a784f22d4b5cbd5a8452fe39914b8fd7961d
THREAD_SHA1_HASH_MOD_FUNC_OFFSET:  5643383f9cae3ca39073f7721b53f0c633bfb948
THREAD_SHA1_HASH_MOD:  20edda059578820e64b723e466deea47f59bd675
FOLLOWUP_IP: 
NDIS!NdisQueueIoWorkItem+4 [minio\ndis\sys\miniport.c @ 9708]
fffff807`aa74f4c4 48895120        mov     qword ptr [rcx+20h],rdx
FAULT_INSTR_CODE:  20518948
FAULTING_SOURCE_LINE:  minio\ndis\sys\miniport.c
FAULTING_SOURCE_FILE:  minio\ndis\sys\miniport.c
FAULTING_SOURCE_LINE_NUMBER:  9708
FAULTING_SOURCE_CODE:  
  9704:     _In_ _Points_to_data_      PVOID                       WorkItemContext
  9705:     )
  9706: {
  9707: 
> 9708:     ((PNDIS_IO_WORK_ITEM)NdisIoWorkItemHandle)->Routine = Routine;
  9709:     ((PNDIS_IO_WORK_ITEM)NdisIoWorkItemHandle)->WorkItemContext = WorkItemContext;
  9710: 
  9711:     IoQueueWorkItem(((PNDIS_IO_WORK_ITEM)NdisIoWorkItemHandle)->IoWorkItem,
  9712:                     ndisDispatchIoWorkItem,
  9713:                     CriticalWorkQueue,

SYMBOL_STACK_INDEX:  3
SYMBOL_NAME:  NDIS!NdisQueueIoWorkItem+4
FOLLOWUP_NAME:  ndiscore
MODULE_NAME: NDIS
IMAGE_NAME:  NDIS.SYS
DEBUG_FLR_IMAGE_TIMESTAMP:  0
IMAGE_VERSION:  10.0.16299.99
DXGANALYZE_ANALYSIS_TAG_PORT_GLOBAL_INFO_STR:  Hybrid_FALSE
DXGANALYZE_ANALYSIS_TAG_ADAPTER_INFO_STR:  GPU0_VenId0x1414_DevId0x8d_WDDM1.3_Active;
STACK_COMMAND:  .thread ; .cxr ; kb
BUCKET_ID_FUNC_OFFSET:  4
FAILURE_BUCKET_ID:  AV_NDIS!NdisQueueIoWorkItem
BUCKET_ID:  AV_NDIS!NdisQueueIoWorkItem
PRIMARY_PROBLEM_CLASS:  AV_NDIS!NdisQueueIoWorkItem
TARGET_TIME:  2017-12-10T14:16:08.000Z
OSBUILD:  16299
OSSERVICEPACK:  98
SERVICEPACK_NUMBER: 0
OS_REVISION: 0
SUITE_MASK:  784
PRODUCT_TYPE:  1
OSPLATFORM_TYPE:  x64
OSNAME:  Windows 10
OSEDITION:  Windows 10 WinNt TerminalServer SingleUserTS Personal
OS_LOCALE:  
USER_LCID:  0
OSBUILD_TIMESTAMP:  2017-11-26 03:49:20
BUILDDATESTAMP_STR:  170928-1534
BUILDLAB_STR:  rs3_release
BUILDOSVER_STR:  10.0.16299.15.amd64fre.rs3_release.170928-1534
ANALYSIS_SESSION_ELAPSED_TIME:  8377
ANALYSIS_SOURCE:  KM
FAILURE_ID_HASH_STRING:  km:av_ndis!ndisqueueioworkitem
FAILURE_ID_HASH:  {10686423-afa1-4852-ad1b-9324ac44ac96}
FAILURE_ID_REPORT_LINK: https://go.microsoft.com/fwlink/?LinkID=397724&FailureHash=10686423-afa1-4852-ad1b-9324ac44ac96
Followup:     ndiscore
---------

範例 2

在此範例中,非 Microsoft 驅動程式造成頁面錯誤,因此我們沒有此驅動程式的符號。 不過,查看 IMAGE_NAME 和 或 MODULE_NAME表示造成問題的 WwanUsbMP.sys 。 中斷裝置連線並重試升級是可行的解決方案。

1: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

PAGE_FAULT_IN_NONPAGED_AREA (50)
Invalid system memory was referenced.  This can't be protected by try-except.
Typically the address is just plain bad or it is pointing at freed memory.
Arguments:
Arg1: 8ba10000, memory referenced.
Arg2: 00000000, value 0 = read operation, 1 = write operation.
Arg3: 82154573, If non-zero, the instruction address which referenced the bad memory
                address.
Arg4: 00000000, (reserved)

Debugging Details:
------------------

*** WARNING: Unable to verify timestamp for WwanUsbMp.sys
*** ERROR: Module load completed but symbols could not be loaded for WwanUsbMp.sys

KEY_VALUES_STRING: 1
STACKHASH_ANALYSIS: 1
TIMELINE_ANALYSIS: 1
DUMP_CLASS: 1
DUMP_QUALIFIER: 400
BUILD_VERSION_STRING:  16299.15.x86fre.rs3_release.170928-1534
MARKER_MODULE_NAME:  IBM_ibmpmdrv
SYSTEM_MANUFACTURER:  LENOVO
SYSTEM_PRODUCT_NAME:  20AWS07H00
SYSTEM_SKU:  LENOVO_MT_20AW_BU_Think_FM_ThinkPad T440p
SYSTEM_VERSION:  ThinkPad T440p
BIOS_VENDOR:  LENOVO
BIOS_VERSION:  GLET85WW (2.39 )
BIOS_DATE:  09/29/2016
BASEBOARD_MANUFACTURER:  LENOVO
BASEBOARD_PRODUCT:  20AWS07H00
BASEBOARD_VERSION:  Not Defined
DUMP_TYPE:  2
BUGCHECK_P1: ffffffff8ba10000
BUGCHECK_P2: 0
BUGCHECK_P3: ffffffff82154573
BUGCHECK_P4: 0
READ_ADDRESS: 822821d0: Unable to get MiVisibleState
8ba10000 
FAULTING_IP: 
nt!memcpy+33 [minkernel\crts\crtw32\string\i386\memcpy.asm @ 213
82154573 f3a5            rep movs dword ptr es:[edi],dword ptr [esi]
MM_INTERNAL_CODE:  0
CPU_COUNT: 4
CPU_MHZ: 95a
CPU_VENDOR:  GenuineIntel
CPU_FAMILY: 6
CPU_MODEL: 3c
CPU_STEPPING: 3
CPU_MICROCODE: 6,3c,3,0 (F,M,S,R)  SIG: 21'00000000 (cache) 21'00000000 (init)
BLACKBOXBSD: 1 (!blackboxbsd)
BLACKBOXPNP: 1 (!blackboxpnp)
DEFAULT_BUCKET_ID:  WIN8_DRIVER_FAULT
BUGCHECK_STR:  AV
PROCESS_NAME:  System
CURRENT_IRQL:  2
ANALYSIS_SESSION_HOST:  SHENDRIX-DEV0
ANALYSIS_SESSION_TIME:  01-17-2019 10:54:53.0780
ANALYSIS_VERSION: 10.0.18248.1001 amd64fre
TRAP_FRAME:  8ba0efa8 -- (.trap 0xffffffff8ba0efa8)
ErrCode = 00000000
eax=8ba1759e ebx=a2bfd314 ecx=00001d67 edx=00000002 esi=8ba10000 edi=a2bfe280
eip=82154573 esp=8ba0f01c ebp=8ba0f024 iopl=0         nv up ei pl nz ac pe nc
cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010216
nt!memcpy+0x33:
82154573 f3a5            rep movs dword ptr es:[edi],dword ptr [esi]
Resetting default scope
LOCK_ADDRESS:  8226c6e0 -- (!locks 8226c6e0)
Cannot get _ERESOURCE type
Resource @ nt!PiEngineLock (0x8226c6e0)    Available
1 total locks
PNP_TRIAGE_DATA: 
                Lock address  : 0x8226c6e0
                Thread Count  : 0
                Thread address: 0x00000000
                Thread wait   : 0x0

LAST_CONTROL_TRANSFER:  from 82076708 to 821507e8

STACK_TEXT:  
8ba0ede4 82076708 00000050 8ba10000 00000000 nt!KeBugCheckEx [minkernel\ntos\ke\i386\procstat.asm @ 114] 
8ba0ee40 8207771e 8ba0efa8 8ba10000 8ba0eea0 nt!MiSystemFault+0x13c8 [minkernel\ntos\mm\mmfault.c @ 4755] 
8ba0ef08 821652ac 00000000 8ba10000 00000000 nt!MmAccessFault+0x83e [minkernel\ntos\mm\mmfault.c @ 6868] 
8ba0ef08 82154573 00000000 8ba10000 00000000 nt!_KiTrap0E+0xec [minkernel\ntos\ke\i386\trap.asm @ 5153] 
8ba0f024 86692866 a2bfd314 8ba0f094 0000850a nt!memcpy+0x33 [minkernel\crts\crtw32\string\i386\memcpy.asm @ 213] 
8ba0f040 866961bc 8ba0f19c a2bfd0e8 00000000 NDIS!ndisMSetPowerManagementCapabilities+0x8a [minio\ndis\sys\miniport.c @ 7969] 
8ba0f060 866e1f66 866e1caf adfb9000 00000000 NDIS!ndisMSetGeneralAttributes+0x23d [minio\ndis\sys\miniport.c @ 8198] 
8ba0f078 ac50c15f a2bfd0e8 0000009f 00000001 NDIS!NdisMSetMiniportAttributes+0x2b7 [minio\ndis\sys\miniport.c @ 7184] 
WARNING: Stack unwind information not available. Following frames may be wrong.
8ba0f270 ac526f96 adfb9000 a2bfd0e8 8269b9b0 WwanUsbMp+0x1c15f
8ba0f3cc 866e368a a2bfd0e8 00000000 8ba0f4c0 WwanUsbMp+0x36f96
8ba0f410 867004b0 a2bfd0e8 a2bfd0e8 a2be2a70 NDIS!ndisMInvokeInitialize+0x60 [minio\ndis\sys\miniport.c @ 13834] 
8ba0f7ac 866dbc8e a2acf730 866b807c 00000000 NDIS!ndisMInitializeAdapter+0xa23 [minio\ndis\sys\miniport.c @ 601] 
8ba0f7d8 866e687d a2bfd0e8 00000000 00000000 NDIS!ndisInitializeAdapter+0x4c [minio\ndis\sys\initpnp.c @ 931] 
8ba0f800 866e90bb adfb64d8 00000000 a2bfd0e8 NDIS!ndisPnPStartDevice+0x118 [minio\ndis\sys\configm.c @ 4235] 
8ba0f820 866e8a58 adfb64d8 a2bfd0e8 00000000 NDIS!ndisStartDeviceSynchronous+0xbd [minio\ndis\sys\ndispnp.c @ 3096] 
8ba0f838 866e81df adfb64d8 8ba0f85e 8ba0f85f NDIS!ndisPnPIrpStartDevice+0xb4 [minio\ndis\sys\ndispnp.c @ 1067] 
8ba0f860 820a7e98 a2bfd030 adfb64d8 8ba0f910 NDIS!ndisPnPDispatch+0x108 [minio\ndis\sys\ndispnp.c @ 2429] 
8ba0f878 8231f07e 8ba0f8ec adf5d4c8 872e2eb8 nt!IofCallDriver+0x48 [minkernel\ntos\io\iomgr\iosubs.c @ 3149] 
8ba0f898 820b8569 820c92b8 872e2eb8 8ba0f910 nt!PnpAsynchronousCall+0x9e [minkernel\ntos\io\pnpmgr\irp.c @ 3005] 
8ba0f8cc 820c9a76 00000000 820c92b8 872e2eb8 nt!PnpSendIrp+0x67 [minkernel\ntos\io\pnpmgr\irp.h @ 286] 
8ba0f914 8234577b 872e2eb8 adf638b0 adf638b0 nt!PnpStartDevice+0x60 [minkernel\ntos\io\pnpmgr\irp.c @ 3187] 
8ba0f94c 82346cc7 872e2eb8 adf638b0 adf638b0 nt!PnpStartDeviceNode+0xc3 [minkernel\ntos\io\pnpmgr\start.c @ 1712] 
8ba0f96c 82343c68 00000000 a2bdb3d8 adf638b0 nt!PipProcessStartPhase1+0x4d [minkernel\ntos\io\pnpmgr\start.c @ 114] 
8ba0fb5c 824db885 8ba0fb80 00000000 00000000 nt!PipProcessDevNodeTree+0x386 [minkernel\ntos\io\pnpmgr\enum.c @ 6129] 
8ba0fb88 8219571b 85852520 8c601040 8226ba90 nt!PiRestartDevice+0x91 [minkernel\ntos\io\pnpmgr\enum.c @ 4743] 
8ba0fbe8 820804af 00000000 00000000 8c601040 nt!PnpDeviceActionWorker+0xdb4b7 [minkernel\ntos\io\pnpmgr\action.c @ 674] 
8ba0fc38 8211485c 85852520 421de295 00000000 nt!ExpWorkerThread+0xcf [minkernel\ntos\ex\worker.c @ 4270] 
8ba0fc70 82166785 820803e0 85852520 00000000 nt!PspSystemThreadStartup+0x4a [minkernel\ntos\ps\psexec.c @ 7756] 
8ba0fc88 82051e07 85943940 8ba0fcd8 82051bb9 nt!KiThreadStartup+0x15 [minkernel\ntos\ke\i386\threadbg.asm @ 82] 
8ba0fc94 82051bb9 8b9cc600 8ba10000 8ba0d000 nt!KiProcessDeferredReadyList+0x17 [minkernel\ntos\ke\thredsup.c @ 5309] 
8ba0fcd8 00000000 00000000 00000000 00000000 nt!KeSetPriorityThread+0x249 [minkernel\ntos\ke\thredobj.c @ 3881] 


RETRACER_ANALYSIS_TAG_STATUS:  Failed in getting KPCR for core 1
THREAD_SHA1_HASH_MOD_FUNC:  e029276c66aea80ba36903e89947127118d31128
THREAD_SHA1_HASH_MOD_FUNC_OFFSET:  012389f065d31c8eedd6204846a560146a38099b
THREAD_SHA1_HASH_MOD:  44dc639eb162a28d47eaeeae4afe6f9eeccced3d
FOLLOWUP_IP: 
WwanUsbMp+1c15f
ac50c15f 8bf0            mov     esi,eax
FAULT_INSTR_CODE:  f33bf08b
SYMBOL_STACK_INDEX:  8
SYMBOL_NAME:  WwanUsbMp+1c15f
FOLLOWUP_NAME:  MachineOwner
MODULE_NAME: WwanUsbMp
IMAGE_NAME:  WwanUsbMp.sys
DEBUG_FLR_IMAGE_TIMESTAMP:  5211bb0c
DXGANALYZE_ANALYSIS_TAG_PORT_GLOBAL_INFO_STR:  Hybrid_FALSE
DXGANALYZE_ANALYSIS_TAG_ADAPTER_INFO_STR:  GPU0_VenId0x1414_DevId0x8d_WDDM1.3_NotActive;GPU1_VenId0x8086_DevId0x416_WDDM1.3_Active_Post;
STACK_COMMAND:  .thread ; .cxr ; kb
BUCKET_ID_FUNC_OFFSET:  1c15f
FAILURE_BUCKET_ID:  AV_R_INVALID_WwanUsbMp!unknown_function
BUCKET_ID:  AV_R_INVALID_WwanUsbMp!unknown_function
PRIMARY_PROBLEM_CLASS:  AV_R_INVALID_WwanUsbMp!unknown_function
TARGET_TIME:  2018-02-12T11:33:51.000Z
OSBUILD:  16299
OSSERVICEPACK:  15
SERVICEPACK_NUMBER: 0
OS_REVISION: 0
SUITE_MASK:  272
PRODUCT_TYPE:  1
OSPLATFORM_TYPE:  x86
OSNAME:  Windows 10
OSEDITION:  Windows 10 WinNt TerminalServer SingleUserTS
OS_LOCALE:  
USER_LCID:  0
OSBUILD_TIMESTAMP:  2017-09-28 18:32:28
BUILDDATESTAMP_STR:  170928-1534
BUILDLAB_STR:  rs3_release
BUILDOSVER_STR:  10.0.16299.15.x86fre.rs3_release.170928-1534
ANALYSIS_SESSION_ELAPSED_TIME:  162bd
ANALYSIS_SOURCE:  KM
FAILURE_ID_HASH_STRING:  km:av_r_invalid_wwanusbmp!unknown_function
FAILURE_ID_HASH:  {31e4d053-0758-e43a-06a7-55f69b072cb3}
FAILURE_ID_REPORT_LINK: https://go.microsoft.com/fwlink/?LinkID=397724&FailureHash=31e4d053-0758-e43a-06a7-55f69b072cb3

Followup:     MachineOwner
---------

ReadVirtual: 812d1248 not properly sign extended

參考資料

Bug 檢查程式代碼參考