停止錯誤或藍色畫面錯誤問題進階疑難排解
試用虛擬助理 - 其可協助您快速找出並修正常見的 Windows 開機問題。
注意
如果您不是支援代理程式或 IT 專業人員,您可以在針對藍色畫面錯誤進行疑難解答中找到有關停止錯誤 (「藍色畫面」) 訊息的更實用資訊。
適用於:Windows Server 和 Windows 用戶端的支援版本
造成停止錯誤的原因為何?
當 Windows 遇到危害安全系統作業的條件時,系統就會停止。 範例包括可能會危害安全性或導致作業系統 (OS) 和/或使用者資料損毀的問題。 當電腦停止以防止作業系統在這些情況下繼續運作時,它稱為錯誤檢查 (或錯誤檢查)。 它通常也稱為系統當機、核心錯誤、藍色畫面、藍色當機畫面 (BSOD),或停止錯誤。 在 Windows 的預覽版本中,畫面色彩可以是綠色,導致綠色當機畫面 (GSOD)。
停止錯誤的原因沒有簡單的說明。 可能涉及許多不同的因素。 我們對當機根本原因的分析指出:
- 70% 是由第三方驅動程式的程式代碼所造成。
- 10% 是由硬體問題所造成。
- 5% 是由 Microsoft 程式碼所造成。
- 15% 有未知的原因,因為記憶體損毀嚴重而無法分析。
注意
停止錯誤的根本原因很少是使用者模式程式。 雖然使用者模式程式 (例如記事本或 Slack) 可能會觸發停止錯誤,但通常會在驅動程式、硬體或作業系統中公開基礎問題。
一般疑難排解步驟
若要針對停止錯誤訊息進行疑難排解,請遵循下列一般步驟:
檢閱您在事件記錄檔中找到的停止錯誤碼。 線上搜尋特定的停止錯誤碼,以查看是否有任何已知問題、解決方法或因應措施的問題。
請確定您安裝最新的 Windows 更新、累積更新和彙總更新。 若要確認更新狀態,請參閱系統的適當更新歷程記錄。 例如:
請確定 BIOS 和韌體是最新的。
執行任何相關的硬體和記憶體測試。
執行 Microsoft 安全掃描工具或任何其他病毒偵測程式,包括 MBR 是否有感染檢查。
請確定磁碟上有充足的可用空間。 確切的需求會有所不同,但我們建議需有 10-15% 的可用磁碟空間。
請連絡個別的硬體或軟體廠商,以在下列案例中更新驅動程式和應用程式:
- 錯誤訊息指出特定驅動程式造成問題。
- 您會看到發生當機前正在啟動或停止的服務指示。 在此情況下,判斷服務行為是否在所有損毀執行個體上保持一致。
- 您已進行任何軟體或硬體變更。
注意
如果特定製造商沒有可用的更新,建議您停用相關的服務。
如需詳細資訊,請參閱如何在 Windows 中執行初始狀態開機。
您可以遵循如何在 Windows 中暫時停用核心模式篩選驅動程式中的步驟來停用驅動程式。
您也可以考慮復原變更或還原為最後已知工作狀態的選項。 如需詳細資訊,請參閱將裝置驅動器復原至舊版。
記憶體傾印集合
若要設定記憶體傾印檔案的系統,請遵循下列步驟:
- 選取任務列搜尋方塊,輸入 [進階系統設定],然後按 [Enter]。
- 在 [系統屬性] 方塊的 [進階] 索引標籤上,選取 [啟動和復原] 區段中出現的 [設定] 按鈕。
- 在新視窗中,選取 [撰寫偵錯資訊] 選項下方的下拉式清單。
- 選擇 [自動記憶體傾印]。
- 選取 [確定]。
- 重新啟動電腦,讓這些設定生效。
- 如果伺服器虛擬化,請在建立記憶體傾印檔案之後停用自動重新啟動。 此停用可讓您擷取伺服器處於狀態的快照集,如果問題再次發生,則也一樣。
記憶體傾印檔案會儲存在下列位置:
傾印檔案類型 | Location |
---|---|
(無) | %SystemRoot%\MEMORY。DMP (非使用中或灰色) |
小型記憶體傾印檔案 (256 kb) | %SystemRoot%\Minidump |
核心記憶體傾印檔案 | %SystemRoot%\MEMORY。DMP |
完整記憶體傾印檔案 | %SystemRoot%\MEMORY。DMP |
自動記憶體傾印檔案 | %SystemRoot%\MEMORY。DMP |
使用中記憶體傾印檔案 | %SystemRoot%\MEMORY。DMP |
您可以使用 Microsoft 損毀傾印檔案檢查工具 (DumpChk) 工具來確認記憶傾印檔案未損毀或無效。 如需詳細資訊,請觀看下列影片:
如需如何使用 Dumpchk.exe 檢查傾印檔案的詳細資訊,請參閱下列文章:
Pagefile 設定
如需有關分頁檔設定的詳細資訊,請參閱下列文章:
記憶體傾印分析
找出損毀的根本原因可能並不容易。 硬體問題特別難以診斷,因為它們可能會導致不穩定且無法預測的行為,這些行為可能會以各種徵兆來顯現出來。
發生停止錯誤時,您應該先隔離有問題的元件,然後再嘗試啟用它們再次觸發停止錯誤。 如果可以復寫問題,您通常可以判斷原因。
您可以使用 Windows 軟體開發工具套件 (SDK) 和符號等工具來診斷傾印記錄。 下一節將討論如何使用此工具。
常見疑難排解步驟
注意
如果您不熟悉程式設計和內部 Windows 機制,則損毀傾印的進階疑難排解可能非常具有挑戰性。 我們嘗試在這裡提供一些使用的技巧的簡短深入解析,其中包括一些範例。 不過,若要真正有效地針對損毀傾印進行疑難排解,您應該花時間熟悉進階偵錯技術。 如需影片概觀,請觀看偵錯核心模式會當機並停止回應。 另請參閱下面所列的進階參考。
進階偵錯參考
偵錯步驟
確認電腦已設定為在發生當機時產生完整的記憶體傾印檔案。 如需詳細資訊,請參閱方法 1:記憶體傾印。
在當機的 Windows 目錄中找出 memory.dmp檔案,並將該檔案複製到另一部電腦。
在其他電腦上,下載 Windows 10 SDK。
啟動安裝,然後選擇 [適用於 Windows 的偵錯工具]。 已安裝 WinDbg 工具。
移至 [檔案] 功能表,然後選取 [符號檔案路徑] 以開啟 WinDbg 工具並設定符號路徑。
- 如果電腦連線到網路,請輸入 Microsoft 公用符號伺服器:
https://msdl.microsoft.com/download/symbols
,然後選取 [確定]。 推薦使用這個方法。 - 如果電腦未連線到網路,請指定本機符號路徑。
- 如果電腦連線到網路,請輸入 Microsoft 公用符號伺服器:
選取 [開啟損毀傾印],然後開啟您複製的 memory.dmp 檔案。
在 [錯誤檢查分析] 底下,選取
!analyze -v
。 命令!analyze -v
會在頁面底部的提示字元中輸入。詳細的錯誤檢查分析隨即出現。
向下捲動至 [STACK_TEXT] 區段。 每個數字列後面都會有冒號和一些文字。 該文字應能告訴您 DLL 造成當機的原因。 如果適用,它也會指出哪個服務損毀 DLL。
如需如何解譯 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 停止錯誤
本節不包含所有錯誤碼的清單,但由於許多錯誤碼都有相同的可能解決方式,因此最好遵循下列步驟來針對錯誤進行疑難排解。 如需停止錯誤碼的完整清單,請參閱錯誤檢查碼參考。
下列各節列出常見停止錯誤碼的一般疑難排解程序。
VIDEO_ENGINE_TIMEOUT_DETECTED 或 VIDEO_TDR_TIMEOUT_DETECTED
停止錯誤碼 0x00000141 或 0x00000117
請連絡列出的顯示驅動程式廠商,以取得該驅動程式的適當更新。
DRIVER_IRQL_NOT_LESS_OR_EQUAL
停止錯誤碼 0x0000000D1
透過 Microsoft 更新類別目錄網站套用系統的最新累積更新,以套用驅動程式的最新更新。 更新過期的網路驅動程式。 虛擬化 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 SubSystem 系統進程意外終止,狀態為 0xc0000005。 系統已關閉。
使用系統檔案檢查工具來修復遺失或損毀的系統檔案。 系統檔案檢查程式可讓使用者掃描 Windows 系統檔案中的損毀,並還原損毀的檔案。 如需詳細資訊,請參閱使用系統檔案檢查程式。
NTFS_FILE_SYSTEM
停止錯誤碼 0x000000024
此停止錯誤通常是因為硬碟上的 NTFS 檔案系統損毀或壞區塊 (扇區) 而造成。 硬碟的損毀驅動程式 (SATA 或 IDE) 也會對系統讀取和寫入磁碟的能力產生負面影響。 執行儲存體子系統製造商所提供的任何硬體診斷。 使用掃描磁碟工具來確認沒有檔案系統錯誤。 若要執行此步驟,請以滑鼠右鍵按下您要掃描的磁碟驅動器,選取 [屬性],選取 [工具],然後選取 [立即核取] 按鈕。 更新 NTFS 檔案系統驅動程式 (Ntfs.sys)。 針對發生問題的目前作業系統套用最新的累積更新。
KMODE_EXCEPTION_NOT_HANDLED
停止錯誤碼 0x0000001E
如果在停止錯誤訊息中識別驅動程式,請停用或移除該驅動程式。 停用或移除最近新增的任何驅動程式或服務。
如果在啟動順序期間發生錯誤,而且系統分割區是使用 NTFS 檔案系統格式化的,您可能可以使用安全模式來停裝置管理員中的驅動程式。 如果要停用驅動程式,請依照下列步驟執行:
- 移至 [設定]>[更新與安全性]>[復原]。
- 在 [進階啟動] 底下,選取 [立即重新啟動]。
- 您的電腦重新啟動至 [選擇選項] 畫面之後,請選取 [疑難排解]>[進階選項]>[啟動設定]>[重新啟動]。
- 電腦重新啟動之後,您會看到選項清單。 按 4 或 F4 以安全模式啟動電腦。 如果您想要在安全模式中使用網路,請按 5 或 F5 以使用網路安全模式選項。
DPC_WATCHDOG_VIOLATION
停止錯誤碼 0x00000133
這個停止錯誤碼是由錯誤驅動程式所造成,該驅動程式在特定情況下未完成其分配的時間範圍內的工作。 若要協助減輕此錯誤,請從系統收集記憶體傾印檔案,然後使用 Windows 偵錯程式尋找錯誤驅動程式。 如果在停止錯誤訊息中識別驅動程式,請停用驅動程式以找出問題。 請洽詢製造商以取得驅動程式更新。 檢查系統登入「事件檢視器」是否有其他錯誤訊息,這些錯誤訊息可能有助於識別造成停止錯誤 0x133 的裝置或驅動程式。 確認已安裝的任何新硬體都與已安裝的 Windows 版本相容。 例如,您可以在 Windows 10 規格取得必要硬體的相關資訊。 如果已安裝 Windows 偵錯程式,而且您可以存取公用符號,您可以將 c:\windows\memory.dmp 檔案載入偵錯程式。 然後,請參閱判斷 Windows Server 2012 上錯誤檢查 0x133 (DPC_WATCHDOG_VIOLATION) 錯誤的來源,以從記憶體傾印找出有問題的驅動程式。
USER_MODE_HEALTH_MONITOR
停止錯誤碼 0x0000009E
這個停止錯誤表示使用者模式健康情況檢查失敗,導致無法正常關機。 Windows 會重新啟動或啟用應用程式故障轉移至其他伺服器,以還原重要服務。 叢集服務會納入偵測機制,以偵測使用者模式元件中的無回應。
這個停止錯誤通常會發生在叢集環境中,且指定的錯誤驅動程式 RHS.exe。 檢查事件記錄檔中是否有任何記憶體失敗,以識別失敗的程序。 嘗試更新事件記錄檔中所指出的元件或程序。 您應該會看到下列事件:
- 事件識別碼:4870
- 來源:Microsoft-Windows-FailoverClustering
- 使用者模式健全狀況監控偵測到系統沒有回應。 容錯移轉叢集虛擬介面卡已失去與處理程序 ID 為「%1」之處理程序的連絡,時間長達「%2」秒。 將進行復原動作。 檢閱叢集記錄以識別程序,並調查哪些項目可能會導致程序停止回應。
如需詳細資訊,請參閱 Windows Server 多節點故障轉移叢集環境中叢集節點上的「0x0000009E」停止錯誤。另請參閱下列 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) 檢查程式碼參考 (部分機器翻譯)