.NET Framework 4.x アプリのクラッシュダンプを作成したい
レジストリにキーを追加すると、ダンプファイルが得られるようです。
Windows 10 Pro (version 21H2) で確認しました。
参考記事:
- How to capture and debug .NET application crash dumps in Windows
- Generating .NET crash dumps automatically
以下のレジストリキーの配下に wazato.exe のような exe ファイル名のキーを作成します:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps
詳細は: ユーザーモード ダンプの収集
上図の状態で .reg ファイルをエクスポートするとこのような感じです:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\wazato.exe] "DumpCount"=dword:00000003 "DumpType"=dword:00000002 "DumpFolder"=hex(2):25,00,50,00,52,00,4f,00,47,00,52,00,41,00,4d,00,44,00,41,\ 00,54,00,41,00,25,00,5c,00,57,00,61,00,7a,00,61,00,74,00,6f,00,00,00DumpType:
0 = カスタム
1 = ミニ
2 = 完全
レジストリを設定後 .NET Framework のアプリがクラッシュすると .dmp ファイルができました。
クラッシュすると Windows Error Reporting の画面が出現します。
ここで「キャンセル」をクリックして閉じても .dmp は作成されました。
また…
「デバッグ」を選択して、デバッガーが起動し終わった後、
「プログラムの終了」を選択して、アプリを終了した後にも .dmp は作成されました。
単純な容量比較では…
ミニダンプ 11,842 KB
完全ダンプ 102,691 KB
10 倍の差がありました。throw するだけの簡単なコンソールアプリでしたが。
続きはこちら…
0 件のコメント:
コメントを投稿