WinDbg: ダンプファイルから基本的な情報を抜き出す一連のコマンド
Windows のダンプファイルから基本的な情報、たとえば「コンピューター名」「ユーザー名」「OS のバージョン」「PC起動日時」「モジュールの一覧」を抜き出す方法について書き留めておきます。本格的な故障解析に入る前に把握しておきたい情報になります。扱うのはカーネルダンプではなくユーザーダンプです。
動作確認環境
- Windows 11 Home 22H2
- WinDbg 10.0
- dumpchk 10.0
ダンプファイルの準備
まずはテスト用のダンプファイルを取得します。
メモ帳を起動し、タスクマネージャーから「メモ帳」ではなく「Notepad.exe」を右クリックして[ダンプファイルの作成]を選択すると、所定の場所にダンプファイル (*.dmp) が生成されます。
(32bit アプリのダンプファイルを取得する場合は、32 ビットのタスクマネージャー「C:\Windows\SysWOW64\Taskmgr.exe」を使ってください。)
このファイルを、WinDbg のメニューから [File]-[Open Crash Dump] で開きます。
(32bit アプリのダンプファイルを開く場合は、32bit 版の WinDbg を使ってください。)
そして、これは個人の好みですが、[Command] ウィンドウから次のコマンドを実行して準備完了です。
0:000> !sym noisy
......
0:000> .symfix c:\symbols
......
0:000> .reload /f
......
「!sym noisy」は、シンボルファイルのダウンロード状況を表示するための指定です。
「.symfix c:\symbols」は、シンボルファイルの格納場所の指定です。
「.reload /f」は、シンボルファイルを強制ロードするための指定です。
では、いろいろ抜き出してみましょう。
ダンプファイルのファイル名
ダンプファイルのファイル名は、「.echo $CurrentDumpFile」で表示されます。
0:000> .echo $CurrentDumpFile
C:\Users\*****\AppData\Local\Temp\Notepad.DMP
※ 「*」は伏字。以下同様。
コンピューター名
ダンプファイルを取得したコンピューターの名前は、「!envvar COMPUTERNAME」で表示されます。
0:000> !envvar COMPUTERNAME
COMPUTERNAME = DELL******
ユーザー名
Windows へのログオンユーザー名は、「!envvar USERNAME」で表示されます。
0:000> !envvar USERNAME
USERNAME = ******
OS のバージョン
OS のバージョンは、「vertarget」で表示されます。
0:000> vertarget
Windows 10 Version 22621 MP (8 procs) Free x64
Product: WinNt, suite: SingleUserTS Personal
Edition build lab: 22621.1.amd64fre.ni_release.220506-1250
......
ただし、表示されるのは内部的なビルド番号です。一般的なバージョン名を知るには Web を検索してください。たとえば、「Windows 10 Version 22621」は「Windows 11 22H2」を意味します。
CPU
CPU の種類は「!envvar PROCESSOR_IDENTIFIER」で表示されます。
0:000> !envvar PROCESSOR_IDENTIFIER
PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 142 Stepping 12, GenuineIntel
「Core(TM) i5-8265U」といった一般的な名称を知るには、Web を検索してください。
ほかに、「!cpuid」も使えます。
0:000> !cpuid
CP F/M/S Manufacturer MHz
0 6,142,12 <unavailable> 1600
1 6,142,12 <unavailable> 1600
2 6,142,12 <unavailable> 1600
3 6,142,12 <unavailable> 1600
4 6,142,12 <unavailable> 1600
5 6,142,12 <unavailable> 1600
6 6,142,12 <unavailable> 1600
7 6,142,12 <unavailable> 1600
「F/M/S」は「Family/Model/Stpping」の意味です。8 行表示されているのは、論理プロセッサ数が 8 個あるためです。
物理メモリサイズ
物理メモリサイズを WinDbg のコマンドで取得する方法は不明ですが、windbg.exe と同じディレクトリにインストールされているであろう dumpchk.exe で確認できます。(【追記】後で知りましたが WinDbg の .dumpdebug コマンドで dumpchk.exe と同じ内容を出力できます。)
C:\> dumpchk notepad.dmp
......
Stream 9: type SystemMemoryInfoStream (21), size 000001EC, RVA 00003408
Revision : 1
Flags : 0xf
BasicInfo
TimerResolution : 156,250
PageSize : 0x1000
NumberOfPhysicalPages : 2,048,069
......
「PageSize(ページサイズ)」の 0x1000(= 4096 = 4KB) と「NumberOfPhysicalPages(物理ページ数)」の 2,048,069 を掛け算した 8GB が、物理メモリのサイズです(2 の累乗ちょうどにならない理由は不明)。
なお、dumpchk コマンドに -y オプションを付けると(例: 「dumpchk -y c:\symbols notepad.dmp」)シンボルファイルが参照されます。
メモリ使用量
当該プロセスのメモリ使用量も dumpchk.exe で取得できます。
C:\> dumpchk notepad.dmp
......
......: type ProcessVmCountersStream (22) ......
WorkingSetSize : 0x68d6000
......
PrivateWorkingSetSize : 0x1925000
......
この例では、「プライベートワーキングセット(PrivateWorkingSetSize)」のサイズが 0x1925000 = 26365952 = 約 25MB になっています。
「ワーキングセット(WorkingSetSize)」のサイズは、0x68d6000 = 109928448 = 約 105MB です。
その差の約 80MB が「共有ワーキングセット」のサイズです。
実行ファイル名・引数・カレントディレクトリ
当該プロセスの実行ファイル名(フルパス名)、コマンドライン引数、当該プロセスのカレントディレクトリは、「!peb」で取得できます(dumpchk.exe でも取得できますが、WinDbg に戻ります)。
0:000> !peb
......
CurrentDirectory: 'C:\Program Files\Microsoft Visual Studio\2022\Community\'
......
ImageFile: 'C:\Program Files\WindowsApps\Microsoft......\Notepad\Notepad.exe'
CommandLine: 'notepad c:\tmp\a.txt'
......
環境変数
環境変数も「!peb」で取得できます。
0:000> !peb
......
Environment: 0000020579d45110
=::=::\
ALLUSERSPROFILE=C:\ProgramData
......
COMPUTERNAME=DELL******
ComSpec=C:\WINDOWS\system32\cmd.exe
DriverData=C:\Windows\System32\Drivers\DriverData
HOMEDRIVE=C:
OS=Windows_NT
Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;******
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 142 Stepping 12, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=8e0c
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
......
USERNAME=******
......
実はこの中に前述の「COMPUTERNAME」「PROCESSOR_IDENTIFIER」「USERNAME」も含まれています。「!envvar」は指定の環境変数の値を抜き出すコマンドです。
IPアドレス
IPアドレスは、私の知っている限りダンプファイルには含まれていません。
ダンプファイル生成日時・PC 起動日時・プロセス起動日時
ダンプファイル生成日時、PC 起動日時、プロセス起動日時は、前述の「vertarget」でわかります。
0:000> vertarget
......
Debug session time: Thu Dec 29 12:30:50.000 2022 (UTC + 9:00)
System Uptime: 3 days 10:20:30.190
Process Uptime: 0 days 0:01:08.000
......
「Debug session time」はダンプファイル生成開始日時です(例外発生日時ではありません)。
PC を起動した日時は、「Debug session time」-「System Uptime」で計算できます。
プロセスを起動した日時は、「Debug session time」-「Process Uptime」で計算できます。
モジュールの一覧と詳細情報
当該プロセス空間にロードされているモジュールの一覧は、「lm」で表示されます。
0:000> lm
start end module name
......
00007ff7`a30b0000 00007ff7`a3134000 Notepad C (no symbols)
......
00007ff8`4fa80000 00007ff8`4fb91000 ucrtbase (pdb symbols) c:\symbols\ucrtbase.pdb\......
00007ff8`4fba0000 00007ff8`4ff3d000 KERNELBASE (pdb symbols) c:\symbols\kernelbase.pdb\......
00007ff8`4ff40000 00007ff8`500a6000 crypt32 (export symbols) crypt32.dll
00007ff8`500b0000 00007ff8`5014a000 msvcp_win (pdb symbols) c:\symbols\msvcp_win.pdb\......
......
00007ff8`51200000 00007ff8`512c3000 kernel32 (pdb symbols) c:\symbols\kernel32.pdb\......
00007ff8`51320000 00007ff8`514bc000 ole32 (private pdb symbols) c:\symbols\ole32.pdb\......
00007ff8`514c0000 00007ff8`5184a000 combase (private pdb symbols) c:\symbols\combase.pdb\......
00007ff8`51850000 00007ff8`51882000 imm32 (pdb symbols) c:\symbols\imm32.pdb\......
......
「lmvm」に続けてモジュール名(拡張子を除く)を入力すると、指定のモジュールの詳細な属性、たとえばフルパス名、バージョン、コピーライトが表示されます。
(すべてのモジュールを対象とする場合は、「lmvm *」。)
0:000> lmvm kernel32
Browse full module list
start end module name
00007ff8`51200000 00007ff8`512c3000 kernel32 (pdb symbols) c:\symbols\kernel32.pdb\1A508D163BEFC4D6F8EBA6B29778C9261\kernel32.pdb
Loaded symbol image file: kernel32.dll
Image path: C:\Windows\System32\kernel32.dll
Image name: kernel32.dll
Browse all global symbols functions data
Image was built with /Brepro flag.
Timestamp: 0BD3258D (This is a reproducible build file hash, not a timestamp)
CheckSum: 000CA223
ImageSize: 000C3000
File version: 10.0.22621.963
Product version: 10.0.22621.963
File flags: 0 (Mask 3F)
File OS: 40004 NT Win32
File type: 2.0 Dll
File date: 00000000.00000000
Translations: 0409.04b0
Information from resource tables:
CompanyName: Microsoft Corporation
ProductName: Microsoft® Windows® Operating System
InternalName: kernel32
OriginalFilename: kernel32
ProductVersion: 10.0.22621.963
FileVersion: 10.0.22621.963 (WinBuild.160101.0800)
FileDescription: Windows NT BASE API Client DLL
LegalCopyright: © Microsoft Corporation. All rights reserved.
「!dh -a」に続けてモジュール名(拡張子を除く)を入力すると、指定のモジュールのヘッダ情報、インポート関数、エクスポート関数が表示されます。要するに、dumpbin コマンドの /headers, /imports, /exports オプションと同じです。
(すべてのモジュールを対象とする場合は、「!for_each_module “.echo @#ModuleName;!dh -a @#ModuleName”」。)
0:000> !dh -a kernel32
File Type: DLL
FILE HEADER VALUES
8664 machine (X64)
7 number of sections
BD3258D time date stamp Thu Apr 15 12:31:25 1976
......
OPTIONAL HEADER VALUES
20B magic #
14.30 linker version
81000 size of code
41000 size of initialized data
0 size of uninitialized data
12720 address of entry point
1000 base of code
----- new -----
00007ff851200000 image base
1000 section alignment
1000 file alignment
3 subsystem (Windows CUI)
10.00 operating system version
10.00 image version
10.00 subsystem version
C3000 size of image
1000 size of headers
......
_IMAGE_EXPORT_DIRECTORY 00007ff85129e5d0 (size: 0000e8f4)
Name: KERNEL32.dll
Characteristics: 00000000 Ordinal base: 1.
Number of Functions: 1671. Number of names: 1671. EAT: 00007ff85129e5f8.
ordinal hint target name
1 0 AcquireSRWLockExclusive (forwarded to NTDLL.RtlAcquireSRWLockExclusive)
2 1 AcquireSRWLockShared (forwarded to NTDLL.RtlAcquireSRWLockShared)
3 2 00007FF851218DA0 ActivateActCtx
4 3 00007FF851214A60 ActivateActCtxWorker
5 4 00007FF851221590 ActivatePackageVirtualizationContext
6 5 00007FF85125A710 AddAtomA
......
1641 1640 00007FF85126AA80 lstrcat
1642 1641 00007FF85126AA80 lstrcatA
1643 1642 00007FF851227670 lstrcatW
1644 1643 00007FF851217FA0 lstrcmp
......
_IMAGE_IMPORT_DESCRIPTOR 00007ff8512acec4
api-ms-win-core-rtlsupport-l1-1-0.dll
00007FF851285360 Import Address Table
00007FF8512AEF70 Import Name Table
0 time date stamp
0 Index of first forwarder reference
00007FF8525D3970 5 RtlCompareMemory
00007FF8525849A0 D RtlRaiseException
00007FF8525BC490 6 RtlDeleteFunctionTable
00007FF852550160 10 RtlUnwindEx
......
_IMAGE_IMPORT_DESCRIPTOR 00007ff8512acf00
KERNELBASE.dll
00007FF851283AB0 Import Address Table
00007FF8512AD6C0 Import Name Table
0 time date stamp
0 Index of first forwarder reference
00007FF84FBDB2C0 FA NlsIsUserDefaultLocale
00007FF84FBE50F0 24 BaseFormatObjectAttributes
00007FF84FC208B0 D5 GetVolumeNameForVolumeMountPointW
00007FF84FBD4220 194 lstrcmpiW
......
メモリレイアウト
当該プロセス空間のメモリ使用状況は、「!address」や「!address -summary」で表示されます。
0:000> !address
BaseAddress EndAddress+1 RegionSize Type State Protect Usage
---------------------------------------------------------------------------------------------------------------------
+ 0`00000000 0`2ac30000 0`2ac30000 MEM_FREE PAGE_NOACCESS Free
......
+ c9`0ee00000 c9`0eef7000 0`000f7000 MEM_PRIVATE MEM_RESERVE Stack [~20; f78.2d00]
c9`0eef7000 c9`0eefc000 0`00005000 MEM_PRIVATE MEM_COMMIT PAGE_READWRITE|PAGE_GUARD Stack [~20; f78.2d00]
......
+ 205`6ae00000 205`6ae12000 0`00012000 MEM_PRIVATE MEM_COMMIT PAGE_READWRITE Heap [ID: 0; Handle: 000002056acf0000; Type: SegmentHeap Segment]
205`6ae12000 205`6ae13000 0`00001000 MEM_PRIVATE MEM_RESERVE Heap [ID: 0; Handle: 000002056acf0000; Type: SegmentHeap Segment]
......
+ 7ff7`a30b0000 7ff7`a30b1000 0`00001000 MEM_IMAGE MEM_COMMIT PAGE_READONLY Image [Notepad; "C:\Program Files\WindowsApps\Microsoft.WindowsNotepad_11.2210.5.0_x64__8wekyb3d8bbwe\Notepad\Notepad.exe"]
7ff7`a30b1000 7ff7`a30fb000 0`0004a000 MEM_IMAGE MEM_COMMIT PAGE_EXECUTE_READ Image [Notepad; "C:\Program Files\WindowsApps\Microsoft.WindowsNotepad_11.2210.5.0_x64__8wekyb3d8bbwe\Notepad\Notepad.exe"]
......
+ 7ff8`4fba0000 7ff8`4fba1000 0`00001000 MEM_IMAGE MEM_COMMIT PAGE_READONLY Image [KERNELBASE; "C:\Windows\System32\KERNELBASE.dll"]
7ff8`4fba1000 7ff8`4fd2b000 0`0018a000 MEM_IMAGE MEM_COMMIT PAGE_EXECUTE_READ Image [KERNELBASE; "C:\Windows\System32\KERNELBASE.dll"]
......
+ 7fff`edfa3000 7fff`ffff0000 0`1204d000 MEM_FREE PAGE_NOACCESS Free
0:000> !address -summary
--- Usage Summary ---------------- RgnCount ----------- Total Size -------- %ofBusy %ofTotal
Free 325 7ffe`bb93c000 ( 127.995 TB) 100.00%
<unknown> 215 1`2c9d2000 ( 4.697 GB) 92.66% 0.00%
Image 1149 0`13ded000 ( 317.926 MB) 6.12% 0.00%
Heap 264 0`02801000 ( 40.004 MB) 0.77% 0.00%
Stack 63 0`01500000 ( 21.000 MB) 0.40% 0.00%
Other 19 0`001c9000 ( 1.785 MB) 0.03% 0.00%
TEB 21 0`0002a000 ( 168.000 kB) 0.00% 0.00%
PEB 1 0`00001000 ( 4.000 kB) 0.00% 0.00%
--- Type Summary (for busy) ------ RgnCount ----------- Total Size -------- %ofBusy %ofTotal
MEM_PRIVATE 464 1`230e1000 ( 4.548 GB) 89.72% 0.00%
MEM_IMAGE 1155 0`146ea000 ( 326.914 MB) 6.30% 0.00%
MEM_MAPPED 113 0`0cee9000 ( 206.910 MB) 3.99% 0.00%
--- State Summary ---------------- RgnCount ----------- Total Size -------- %ofBusy %ofTotal
MEM_FREE 325 7ffe`bb93c000 ( 127.995 TB) 100.00%
MEM_RESERVE 205 1`22d67000 ( 4.544 GB) 89.65% 0.00%
MEM_COMMIT 1527 0`2194d000 ( 537.301 MB) 10.35% 0.00%
--- Protect Summary (for commit) - RgnCount ----------- Total Size -------- %ofBusy %ofTotal
PAGE_READONLY 636 0`1287a000 ( 296.477 MB) 5.71% 0.00%
PAGE_EXECUTE_READ 177 0`0c6f2000 ( 198.945 MB) 3.83% 0.00%
PAGE_READWRITE 535 0`01b61000 ( 27.379 MB) 0.53% 0.00%
PAGE_WRITECOPY 140 0`00d01000 ( 13.004 MB) 0.25% 0.00%
PAGE_READWRITE|PAGE_WRITECOMBINE 1 0`00118000 ( 1.094 MB) 0.02% 0.00%
PAGE_READWRITE|PAGE_GUARD 21 0`0004f000 ( 316.000 kB) 0.01% 0.00%
PAGE_EXECUTE_READWRITE 17 0`00018000 ( 96.000 kB) 0.00% 0.00%
--- Largest Region by Usage ----------- Base Address -------- Region Size ----------
Free 205`7f400000 7def`680b0000 ( 125.935 TB)
<unknown> 7ff4`eb880000 0`fbf50000 ( 3.937 GB)
Image 7ff8`2e781000 0`016c9000 ( 22.785 MB)
Heap 205`7e110000 0`00ef0000 ( 14.938 MB)
Stack c9`0d900000 0`000fb000 (1004.000 kB)
Other 205`6b260000 0`00181000 ( 1.504 MB)
TEB c9`0d6d2000 0`00002000 ( 8.000 kB)
PEB c9`0d6d1000 0`00001000 ( 4.000 kB)
スレッドの一覧
スレッドの一覧は、「~」で表示されます。
0:000> ~
. 0 Id: f78.6abc Suspend: 0 Teb: 000000c9`0d6d2000 Unfrozen
1 Id: f78.8ec Suspend: 0 Teb: 000000c9`0d6d4000 Unfrozen
2 Id: f78.1d18 Suspend: 0 Teb: 000000c9`0d6d6000 Unfrozen
......
20 Id: f78.2d00 Suspend: 0 Teb: 000000c9`0d704000 Unfrozen
スレッド生成日時・CPU 消費時間
現在選択しているスレッドの生成日時や CPU 消費時間は、「.ttime」で表示されます。
0:000> .ttime
Created: Wed Jan 4 22:44:42.088 2023 (UTC + 9:00)
Kernel: 0 days 0:00:00.296
User: 0 days 0:00:00.312
すべてのスレッドを対象とする場合は、「~*e r $tid; .ttime」と入力すればよいでしょう。「~*e」は「すべてのスレッドに対して、後続のコマンドを実行せよ」、「r $tid」は「スレッド ID を表示せよ」の意味です。
0:000> ~*e r $tid; .ttime
$tid=0000000000006abc
Created: Wed Jan 4 22:44:42.088 2023 (UTC + 9:00)
Kernel: 0 days 0:00:00.296
User: 0 days 0:00:00.312
$tid=00000000000008ec
Created: Wed Jan 4 22:44:42.144 2023 (UTC + 9:00)
Kernel: 0 days 0:00:00.000
User: 0 days 0:00:00.000
$tid=0000000000001d18
Created: Wed Jan 4 22:44:42.144 2023 (UTC + 9:00)
Kernel: 0 days 0:00:00.000
User: 0 days 0:00:00.015
......
$tid=0000000000002d00
Created: Wed Jan 4 22:44:47.469 2023 (UTC + 9:00)
Kernel: 0 days 0:00:00.015
User: 0 days 0:00:00.000
なお、同等の情報が「!runaway 7」でも取得できます。末尾の数字 7(二進数の 111)はフラグであり、「ユーザーモードでの消費時間」「カーネルモードでの消費時間」「スレッド生成からの経過時間」を表示せよと、という意味になります。
0:000> !runaway 7
User Mode Time
Thread Time
0:6abc 0 days 0:00:00.312
15:698c 0 days 0:00:00.046
12:47a0 0 days 0:00:00.046
......
1:8ec 0 days 0:00:00.000
Kernel Mode Time
Thread Time
0:6abc 0 days 0:00:00.296
5:179c 0 days 0:00:00.125
12:47a0 0 days 0:00:00.109
......
1:8ec 0 days 0:00:00.000
Elapsed Time
Thread Time
0:6abc 0 days 0:00:32.911
1:8ec 0 days 0:00:32.855
2:1d18 0 days 0:00:32.855
......
20:2d00 0 days 0:00:27.530
スレッドの詳細情報
現在選択しているスレッドの詳細情報(スレッド環境ブロックの情報)は、「!teb」で表示されます。
(すべてのスレッドを対象とする場合は、「~*e !teb」。)
0:000> !teb
TEB at 000000c90d6d2000
ExceptionList: 0000000000000000
StackBase: 000000c90d900000
StackLimit: 000000c90d8f4000
......
SubSystemTib: 0000000000000000
FiberData: 0000000000001e00
ArbitraryUserPointer: 0000000000000000
Self: 000000c90d6d2000
EnvironmentPointer: 0000000000000000
ClientId: 0000000000000f78 . 0000000000006abc
RpcHandle: 0000000000000000
Tls Storage: 000002056ae87300
PEB Address: 000000c90d6d1000
LastErrorValue: 0
LastStatusValue: c0000034
Count Owned Locks: 0
HardErrorMode: 0
「StackBase」と「StackLimit」はスタックの範囲、「ClientId」はプロセス ID とスレッド ID、「LastErrorValue」は最後のエラーコードです。
スレッドのコールスタック
現在選択しているスレッドのコールスタックは、「kv」コマンドで表示されます。
(すべてのスレッドを対象とする場合は、「~*kv」。)
0:000> kv
# Child-SP RetAddr : Args to Child : Call Site
00 000000c9`0d8ffb18 00007ff8`5065511a : 00000000`000001b7 ...... : win32u!NtUserGetMessage+0x14
01 000000c9`0d8ffb20 00007ff7`a30c9527 : 00000000`00cb07eb ...... : user32!GetMessageW+0x2a
02 000000c9`0d8ffb80 00007ff7`a30f61ca : 00000000`00000001 ...... : Notepad+0x19527
03 000000c9`0d8ffc50 00007ff8`512126bd : 00000000`00000000 ...... : Notepad+0x461ca
04 000000c9`0d8ffc90 00007ff8`5258dfb8 : 00000000`00000000 ...... : kernel32!BaseThreadInitThunk+0x1d
05 000000c9`0d8ffcc0 00000000`00000000 : 00000000`00000000 ...... : ntdll!RtlUserThreadStart+0x28
おわりに
まとめると、次の一連のコマンドを実行するとこれまでに書いた情報がひととおり「c:\tmp\dump.txt」に格納されることになります。
!sym noisy
.symfix c:\symbols
.reload /f
.logopen c:\tmp\dump.txt
.echo $CurrentDumpFile
!envvar COMPUTERNAME
!envvar USERNAME
vertarget
!envvar PROCESSOR_IDENTIFIER
!cpuid
.shell -ci ".echo \"$CurrentDumpFile\"" more > %temp%\a.txt & cmd /v:on /c "set /p a=<%temp%\a.txt & dumpchk.exe !a! & del %temp%\a.txt"
!peb
lm
lmvm*
!for_each_module ".echo @#ModuleName;!dh -a @#ModuleName"
!address
!address -summary
~
~*e r $tid; .ttime
!runaway 7
~*e !teb
~*kv
.logclose
ここで、「.logopen」は WinDbg の画面出力をログファイルにも出力するためのコマンド、「.logclose」は同ログを閉じるコマンドになります。
「dumpchk.exe」は普通にコマンドプロンプトから実行してもいいのですが、「.shell」コマンドを使って無理やり WinDbg の中から実行してみました(【追記】後で知りましたが WinDbg の .dumpdebug コマンドで dumpchk.exe と同じ内容を出力できます。)。