收集使用者模式記憶體轉儲
從 Windows Server 2008 和 Windows Vista with Service Pack 1 (SP1)開始,可以設定 Windows 錯誤報告(WER)以便在使用者模式應用程式當機後收集並儲存完整的使用者模式轉儲檔案。 這項功能不支援執行自己的自定義當機報告的應用程式。
預設不會啟用此功能。 啟用此功能需要系統管理員許可權。 若要啟用和設定此功能,請在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows 錯誤報告\LocalDumps 機碼下使用下列登錄值。
值 | 描述 | 類型 | 預設值 |
---|---|---|---|
DumpFolder | 要儲存轉儲檔案的路徑。 如果您未使用預設路徑,請確定資料夾包含 ACL,允許當機進程將資料寫入資料夾。 針對服務崩潰,系統會根據所使用的服務帳號,將轉儲寫入至特定服務的配置檔資料夾。 例如,系統服務的配置檔資料夾是 %WINDIR%\System32\Config\SystemProfile。 針對網路和本地服務,資料夾為 %WINDIR%\ServiceProfiles。 |
REG_EXPAND_SZ | %LOCALAPPDATA%\CrashDumps |
DumpCount | 資料夾中傾印檔案的數目上限。 超過最大值時,資料夾中最舊的傾印檔案將會取代為新的傾印檔案。 | REG_DWORD | 10 |
DumpType | 指定下列其中一個傾印型態:
|
REG_DWORD | 1 |
CustomDumpFlags | 要使用的自定義匯出選項。 只有當 DumpType 設定為 0 時,才會使用這個值。 選項是MINIDUMP_TYPE列舉值的位元組合。 |
REG_DWORD 0x00000121 (MiniDumpWithDataSegs MiniDumpWithUnloadedModules MiniDumpWithProcessThreadData == 0x00000001 0x00000020 0x00000100) |
注意
當您設定
這些登錄值代表全域設定。 您也可以提供讓個別應用程式設定覆蓋全域設定的設定。 若要建立個別應用程式設定,請在 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows 錯誤報告\LocalDumps 底下為您的應用程式建立新的密鑰
(例如, HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows 錯誤報告\LocalDumps\MyApplication.exe)。 在MyApplication.exe鍵下新增您的傾印設定。 如果您的應用程式當機,WER 會先讀取全域設定,然後使用您的應用程式特定設定覆寫任何設定。
在應用程式當機並在終止之前,系統會檢查登錄設定,以判斷是否要收集本機傾印檔。 傾印收集完成之後,應用程式將可以正常終止。 如果應用程式支援復原,則會在呼叫復原回呼之前收集本機記憶體傾印。
這些記憶體傾印的設定和控制是獨立於 WER 基礎結構的其他部分。 即使 WER 已停用或使用者取消 WER 報告,您仍然可以使用本機傾印收集。 本地傾印資料可能與傳送至 Microsoft 的傾印資料不同。
其他相關資訊
任務管理器增強功能
Windows 11 包含任務管理器中的新功能,可讓使用者為核心和使用者模式進程建立即時記憶體轉儲。 您可以流覽至 [行程] 或 [詳細數據] 索引標籤、以滑鼠右鍵按兩下所需的進程,然後選取 [ 建立即時記憶體轉儲檔案] 來完成。 此功能可簡化直接從Task Manager 介面擷取記憶體轉儲的程式。 如需詳細資訊,請參閱 任務管理器即時記憶體轉儲 。
ProcDump 的改進
Sysinternals ProcDump 公用程式已經增強,支援各種新選項來建立轉儲檔案,例如在執行緒建立或結束時觸發轉儲檔案,使用特定的效能計數器,或擷取未回應視窗的轉儲檔案。 Windows 11 中的 ProcDump 支援 Windows 8.1 和更新版本中引進的所有觸發程式類型。 如需詳細資訊,請參閱 ProcDump v11.0。
偵錯增強功能
Windows 11 支援使用 WinDbg 和 CDB 等工具的進階偵錯功能,可讓您詳細分析完整和小型傾印檔案。 這些工具已更新,以更好地處理 Windows 11 中使用者模式傾印的細微差別,包括能夠直接從 CAB 檔案讀取傾印檔案,以及同時分析多個傾印檔案。 了解更多:使用 WinDbg 分析當機傾印檔案。