如何擷取 Kernel Memory Dump?

如何擷取 Kernel Memory Dump?

這篇文章主要說明如何取得 Windows Kernel Dump的步驟與技巧。

常用的方式是刻意製造一次 Blue Screen 讓系統產生 Dump,但是這樣會造成系統當機中斷,

使用Windbg進行Live Debugging 也很容易操作不慎而造成藍色畫面,有沒有其他方式可以產生呢?

使用 LiveKD 工具

1. 安裝 WinDBG

http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx

on the computer from which you require a kernel memory dump.

2. 下載 LiveKD

https://technet.microsoft.com/en-us/sysinternals/bb897415.aspx

解壓縮至 Windbg目錄, C:\Program Files\Debugging Tools for Windows (X86)\

3. 拷貝系統檔案

將下列檔案從 C:\windows\system32拷貝至 .c:\debugsymbols\system32

  • ntoskrnl.exe
  • ntkrnlpa.exe
  • kernel32.dll
  • ntdll.dll

4. 下載 Symbols

C:\Program Files\Debugging Tools for Windows (x86)>Symchk.exe /if c:\debugsymbols\system32\*.* /s srv*c:\debugsymbols*http://msdl.microsoft.com/download/symbols

 

5. 設定 WinDBG Symbol Path

開啟 WinDBG > File  > Search Symbol Path > 輸入 ” SRV*c:\debugsymbols*”

 

6. 執行 LiveKD.exe

用系統管理者權限開啟 command,

C:\Program Files\Debugging Tools for Windows (X86)\livekd.exe

輸入  “.dump  -f  c:\memory.dmp”

 

使用 NotMyFault藍色畫面

http://download.sysinternals.com/files/NotMyFault.zip

輸入 “NotMyFault.exe /crash”

Complete Memory Dump 設定

“Complete Memory Dump”預設沒有,必須要再註冊碼設定。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

CrashDumpEnabled=1

或是可以利用這個工具設定  DumpConfigurator.hta

 

Leave a Reply

Your email address will not be published. Required fields are marked *