2022年6月1日水曜日

.NET Framework 4.x アプリのクラッシュダンプを作成したい

.NET Framework 4.x アプリのクラッシュダンプを作成したい

レジストリにキーを追加すると、ダンプファイルが得られるようです。

Windows 10 Pro (version 21H2) で確認しました。

参考記事:

以下のレジストリキーの配下に 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,00
DumpType:

0 = カスタム
1 = ミニ
2 = 完全

レジストリを設定後 .NET Framework のアプリがクラッシュすると .dmp ファイルができました。

クラッシュすると Windows Error Reporting の画面が出現します。
ここで「キャンセル」をクリックして閉じても .dmp は作成されました。

また…
「デバッグ」を選択して、デバッガーが起動し終わった後、
「プログラムの終了」を選択して、アプリを終了した後にも .dmp は作成されました。

単純な容量比較では…

ミニダンプ 11,842 KB
完全ダンプ 102,691 KB

10 倍の差がありました。throw するだけの簡単なコンソールアプリでしたが。

続きはこちら…

 

0 件のコメント:

コメントを投稿