Crashdump 支援測試 (標誌)
此測試會確認 Windows 上的儲存體迷你埠驅動程式支援在系統停止錯誤發生之後建立記憶體傾印檔案。
測試詳細資料
規格 |
|
平台 |
|
支援的版本 |
|
預期的執行時間 (以分鐘為單位) | 45 |
類別 | 案例 |
以分鐘為單位的逾時 () | 2700 |
需要重新開機 | false |
需要特殊設定 | true |
類型 | automatic |
其他檔
此功能區域中的測試可能會有其他檔,包括必要條件、設定和疑難排解資訊,可在下列主題中找到 () :
執行測試
執行測試之前,請先完成測試設定,如您要測試之儲存體控制器類型的測試需求中所述。 如需詳細資訊,請參閱 儲存體配接器或控制器測試概觀。
此測試需要額外的軟體和硬體:
要測試的裝置
磁碟分割 C:上至少提供 20 GB 的硬碟。
執行測試之前,您也必須完成下列必要條件:
如果您的測試系統具有網際網路連線,則不需要採取任何動作。
如果您的測試系統沒有網際網路連線,請建立名為 C:\Symbols 的資料夾,並下載並安裝 Windows 作業系統符號。 若要這樣做,請遵循下列步驟:
注意
分析傾印檔案需要符號。 安裝符號失敗是造成此測試失敗的最常見測試安裝問題。 符號的版本必須符合安裝在測試電腦上的作業系統版本。 因此,它必須在套件外部下載。
在具有網際網路連線的電腦上,下載 Windows 符號套件。 如需詳細資訊,請參閱 下載 Windows 符號套件。
將符號檔複製到測試電腦至 C:\Symbols 資料夾。 因為符號可能很大,所以您只需要針對 x64 或 Arm) 或ntkrpamp.pdb複製ntkrnlmp.pdb (,或針對 x86) 複製 ntkrnlmp.pdb (。
疑難排解
如需 HLK 測試失敗的一般疑難排解,請參閱 針對 Windows HLK 測試失敗進行疑難排解。
如需疑難排解資訊,請參閱 針對 Device.Storage Testing 進行疑難排解。
測試會記錄錯誤訊息「無法載入正確的符號」
重新開機時,測試會檢查傾印檔案的正確性。 測試的運作方式就像開發人員一樣,使用核心偵錯工具 kd (請參閱 下載並安裝適用于 Windows) 的偵錯工具 。 若要分析傾印檔案,偵錯工具需要存取符號 (請參閱 符號檔) 。 這是傾印的字典。 它們可讓偵錯工具分析記憶體 (或損毀傾印檔案的內容,) 個別模組, (可執行檔、程式庫、驅動程式等) 、這些模組內的函式和資料結構。 一般規則是,如果您無法使用核心偵錯工具檢查傾印檔案,測試就無法通過。
若要讓測試正常運作,它必須提供偵錯工具符號。 當它沒有適當的符號時,它會在測試的第一個分析階段期間,于記錄失敗期間記錄警告。 執行這項操作的目前機制是下載公用符號套件 (請參閱 下載 Windows 符號套件) 並安裝在測試電腦上,再執行測試。 未安裝符號或不符合受測作業系統時,測試記錄檔中可能會顯示下列訊息:
(x) 無法載入正確的符號。
(i) 請參閱有關如何安裝作業系統符號的 WDK 檔。
(i) 您的符號可能已過期,請使用 Microsoft 符號伺服器來更新符號。
此訊息實際上不會造成測試失敗,因為在某些情況下,仍可使用部分相符的符號來分析傾印。 如果測試繼續且更多測試案例失敗,並出現錯誤擷 取位址... 或 無法取得... 等訊息,表示偵錯工具無法分析傾印,因為符號遺失。 解決符號的其中一個方法是補充以從網際網路符號伺服器快取的符號封裝在本機安裝的符號。 請遵循下列步驟,在本機快取符號:
請確定您已建立損毀傾印。 若要這樣做,最簡單的方式是執行測試一次,並讓它失敗。
請確定您已安裝偵錯工具。 同樣地,執行這項操作最簡單的方式就是執行測試一次。 它會將工具安裝到 C:\Debuggers。
開啟提升權限的命令提示字元。
輸入下列命令
c:\Debuggers\kd -z c:\Windows\MEMORY.DMP -y SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols
這會使用 Microsoft 的遠端符號存放區,以及本機目錄 C:\Symbols 作為下游存放區來快取符號,在核心偵錯工具中載入傾印。
請確定可以找到作業系統檔案的符號,例如 NTOSKRNL 和 NTDLL。 這些檔案是分析傾印的必要專案。 如果錯誤顯示其他模組的載入符號,例如協力廠商驅動程式,則為正常。
您現在應該會有提示0: kd >。 在此提示字元中,輸入 . reload /f命令。 此命令會強制偵錯工具載入和快取傾印中所載入模組的所有符號。
若要結束偵錯工具,請按 Ctrl-B ,然後按 Enter。
測試會記錄錯誤訊息「分頁檔案大小太小,無法進行完整傾印」
在當機的情況下,作業系統的哪些部分仍然無法正常運作。 網路或檔案系統驅動程式可能會導致當機;例如,防止存取檔案系統結構以建立傾印檔案,或網路從遠端儲存檔案。 作業系統會使用已經知道的檔案來處理此問題, (分頁檔) ,並直接寫入磁片上的該檔案邏輯區塊範圍。 傾印進程會將實體記憶體的內容寫入系統磁片上的分頁檔, (通常 c:\pagefile.sys) 。 分頁檔必須夠大,才能包含傾印。 最大傾印是完整的傾印,需要實體記憶體的大小 (例如,4096) 加上一個額外的 MB,才能包含標頭資訊。 測試需要使用者先將頁面檔案設定為適當的大小,再執行。 如果頁面檔案大小不足,測試會在初始化階段期間記錄下列錯誤:
(i) 驗證分頁檔案大小。
(x) 分頁檔案大小太小,無法進行完整傾印。
(i) 分頁檔案大小:330989568
(i) 實體記憶體大小:1073094656
(i) 請將分頁檔案大小下限設定為實體 RAM 大小 + 1MB。
我在藍色畫面) (看到系統停止錯誤,但錯誤檢查程式碼不是 E2
一些基本設定驗證之後,測試會安裝用來當機系統的驅動程式,並重新啟動系統。 重新開機之後,測試會變更 (完整記憶體傾印) 的損毀控制設定、刪除任何舊的傾印檔案,並損毀系統。 當機時,系統會在藍色畫面 (顯示錯誤檢查畫面,) 顯示損毀本質的詳細資料。 錯誤檢查的類型應該 MANUALLY_INITIATED_CRASH (e2) 。 如果這裡出現任何其他專案,這表示在撰寫傾印檔案的過程中發生第二個錯誤檢查。 這應該藉由將核心偵錯工具連接到測試用戶端,並偵錯儲存體配接器驅動程式來調查。
測試會記錄錯誤訊息「傾印檔案正由另一個進程使用。 HRESULT:0x80070020」
寫入傾印檔案之後,測試電腦應該會自動重新開機。 當機後開機時,作業系統會偵測頁面檔案中是否有傾印資訊,並開始撰寫傾印的程式。 此程式會在電腦開機時以非同步方式發生,即使在使用者登入之後亦然。 在此程式中,您可以檢查傾印檔案的大小 (C:\windows\memory.dmp) ,或在工作管理員中檢視進程, (werfault.exe) 來檢視進度。 測試通常會與這個程式同時執行,並嘗試存取相同的傾印檔案。 如果發生這種情況,下列訊息會出現在記錄檔中:
(i) 連接到 DumpFile: C:\Windows\MEMORY。DMP
(另一個進程正在使用 i) Dump 檔案。 HRESULT:0x80070020
(i) 通常記憶體.dmp 仍會因為大型 RAM 而寫入,請在 5 分鐘後重試。
然後,測試應該會重試存取檔案。 如果錯誤訊息碼不同,或變更 (例如,0x80070002 :ERROR_FILE_NOT_FOUND) ,則表示無法將檔案寫入磁片。 檢查重要偵錯資訊的第一個位置是系統事件記錄檔。 若要檢視事件記錄檔,請按一下 [開始],按一下 [ 執行],然後輸入 Compmgmt.msc。 在 [電腦管理] 視窗中,選取 [電腦管理]\[系統工具\事件檢視器\System]。 流覽具有來源 BugCheck之事件的事件清單。 遺失傾印檔案最常見的原因是磁片上的可用空間不足。 登錄機 碼HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\MachineCrash 包含重新開機) 前最後一次當機 (的相關資訊,包括建立部分傾印檔案。 嘗試偵錯其他遺漏傾印問題時,這非常有用。
詳細資訊
Crashdump 是作業系統呼叫儲存體配接器驅動程式,以在系統停止錯誤之後,將記憶體的內容寫入傾印檔案的機制。 由於系統停止錯誤的本質,作業系統無法對系統的穩定性做出任何假設。 因此,儲存體驅動程式可以使用非常少的系統服務。 Crashdump 支援測試會確認存放裝置配接器驅動程式仍可在這些限制的環境中運作,並執行 I/O 以成功寫入傾印。
Windows 作業系統允許產生三種不同類型的記憶體傾印檔案:
完整
核心
小型
此測試會測試核心和迷你傾印檔案類型。 如需這些傾印檔案類型的詳細資訊,請參閱 核心模式傾印檔案。
測試將會完成下列作業順序:
將 Windows 的偵錯工具安裝至 %SystemDrive%\Debuggers 目錄,並初始化系統。
安裝測試驅動程式以模擬當機。
設定頁面檔案大小。
使用錯誤檢查程式碼0x000000E2模擬系統停止錯誤 (藍螢幕) 。
重新開機系統並自動重新開機測試。
透過核心偵錯工具分析記憶體傾印檔案,並確認傾印是否已正確寫入,以檢查先前的損毀。
針對每個傾印檔案類型重複步驟 4 - 6。
命令語法
命令 | 描述 |
---|---|
Crashdumptest.exe -c |
清除任何過去的失敗。 |
crashdumptest.exe -dtm -y [SymbolsDirectory] -ypass |
初始化測試。 |
crashdumptest.exe -autorun -y [SymbolsDirectory] -dtm」 |
執行測試。 |
檔案清單
命令選項 | 描述 |
---|---|
Crashdumptest.exe |
[TestBinRoot]\nttest\driverstest\storage\wdk\ |
BugCheck.sys |
[TestBinRoot]\nttest\driverstest\storage\wdk\ |
參數
參數名稱 | 參數描述 |
---|---|
DebuggerDirectory | 要安裝偵錯工具的目錄。 |
SymbolsDirectory | 已安裝符號的目錄。 |
LLU_LclAdminUsr | 用來執行測試的使用者帳戶。 |
LLU_NetAccessOnly | 用來存取測試檔案共用的使用者帳戶。 |
PagefileSize | MB (的頁面檔案大小支援 mem+N 格式) |