ユーザーモード ダンプの収集

Windows Server 2008 および Windows Vista Service Pack 1 (SP1) 以降では、Windows エラー報告 (WER) を構成して、ユーザー モード アプリケーションのクラッシュ後に完全なユーザー モード ダンプを収集してローカルに格納できます。 .NET アプリケーションを含め、独自のカスタム クラッシュ レポートを実行するアプリケーションについては、この機能がサポートされていません。

この機能は、既定では有効にされません。 この機能を有効にするには、管理者特権が必要です。 この機能を有効にして構成するには、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps キーの下にある次のレジストリ値を使用します。

説明 Type 既定値
DumpFolder ダンプ ファイルを格納するパス。 既定のパスを使用しない場合は、クラッシュ プロセスがフォルダーにデータを書き込むことを許可する ACL がフォルダーに含まれていることを確認してください。 サービスのクラッシュの場合、ダンプは、使用されるサービス アカウントに応じてサービス固有のプロファイル フォルダーに書き込まれます。 たとえば、システム サービスのプロファイル フォルダーは %WINDIR%\System32\Config\SystemProfile です。 ネットワークとローカルのサービスの場合、フォルダーは %WINDIR%\ServiceProfiles です。
REG_EXPAND_SZ %LOCALAPPDATA%\CrashDumps
DumpCount フォルダー内のダンプ ファイルの最大数。 最大値を超えると、フォルダー内の最も古いダンプ ファイルが新しいダンプ ファイルに置き換えられます。 REG_DWORD 10
DumpType 次のいずれかのダンプの種類を指定します。
  • 0: カスタム ダンプ
  • 1: ミニ ダンプ
  • 2: 完全ダンプ
REG_DWORD 1
CustomDumpFlags 使用するカスタム ダンプ オプション。 この値は、DumpType が 0 に設定されているときにのみ使用されます。
オプションは、MINIDUMP_TYPE 列挙値のビットごとの組み合わせです。
REG_DWORD
0x00000121 (MiniDumpWithDataSegs MiniDumpWithUnloadedModules MiniDumpWithProcessThreadData == 0x00000001 0x00000020 0x00000100)

Note

アプリケーション クラッシュの自動デバッグを設定すると、クラッシュ ダンプは収集されません。

これらのレジストリ値は、グローバル設定を表します。 グローバル設定をオーバーライドするアプリケーションごとの設定も指定できます。 アプリケーションごとの設定を作成するには、HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps の下にアプリケーションの新しいキーを作成します

(例: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\MyApplication.exe)。 MyApplication.exe キーの下にダンプ設定を追加します。 アプリケーションがクラッシュした場合、WER はまずグローバル設定を読み取り、その設定をアプリケーション固有の設定でオーバーライドします。

アプリケーションのクラッシュ後、終了前に、システムはレジストリ設定を検査して、ローカル ダンプを収集するかどうかを判断します。 ダンプ収集が完了すると、アプリケーションが正常に終了できるようになります。 アプリケーションが回復をサポートしている場合は、回復コールバックが呼び出される前にローカル ダンプが収集されます。

これらのダンプは、残りの WER インフラストラクチャとは別個に構成および制御されます。 WER が無効になっている場合や、ユーザーが WER レポートを取り消した場合でも、ローカル ダンプ コレクションを使用できます。 ローカル ダンプは、Microsoft に送信されるダンプとは異なる場合があります。