DMP ファイル形式とは?
.dmp ファイルは、Windows 内でシステム障害後の情報を保存するための領域として使用されます。これらはクラッシュした瞬間の物理メモリ(RAM)のスナップショットをキャプチャし、エンジニアやサポートスタッフが事象の後に根本原因を診断できるようにします。
.dmp ファイルは通常、問題を診断して排除するために、エラーや不具合が発生したときに自動的に生成されます。古い Windows バージョン(XP 時代)では、クラッシュ後の最初の起動時に Savedump.exe というユーティリティがダンプの書き込みを支援していましたが、現代の Windows では、ブルースクリーンのシーケンス中にカーネルが直接ダンプを書き込みます。すべての .dmp ファイルにはバイナリシグネチャがあります。ミニダンプはオフセット 0 に 4 バイトのマジック MDMP (4D 44 4D 50) で始まり、フルカーネルダンプは PAGEDUMP (32-bit) または PAGEDU64 (64-bit) で始まります。
ファイル名は通常 Memory.dmp ですが、ミニダンプ形式の MiniMMDDYY-NN.dmp (M = 月、D = 日、Y = 年、NN = シーケンス番号) に遭遇することもあります。これらは個々のクラッシュが上書きされないよう %SystemRoot%\Minidump に保存されます。
Windows で生成されるメモリダンプの種類:
- 完全メモリダンプ - 作成後、物理 RAM のすべての内容が
.dmpファイル内に保存されます。大量のディスク容量を占有する可能性があります。%SystemRoot%\Memory.dmpに保存され、別の不具合が発生すると上書きされます。 - カーネルメモリダンプ - カーネルモードのメモリのみが記録され、ユーザープログラムに割り当てられたメモリは除外されます。これも
%SystemRoot%\Memory.dmpとして保存され、次のクラッシュで上書きされます。 - 最小メモリダンプ (ミニダンプ) - 通常 64 KB で、STOP パラメータ、PRCB プロセッサコンテキスト、停止したスレッドの EPROCESS/ETHREAD 構造体、およびロードされたドライバーのリストが含まれます。
%SystemRoot%\Minidumpに保存され、上書きされません。 - 自動メモリダンプ - Windows 8 で導入されました。カーネルダンプに似ていますが、ダンプが確実に収まるように Windows がページングファイルのサイズを動的に調整します。
密接に関連するバリアントとして .mdmp ファイル(明示的に命名されたミニダンプ)があり、Windows エラー報告によって .hdmp ヒープダンプが生成されることもあります。Linux/Unix システムでは、同様の概念として core ダンプがあります。クラッシュダンプは、WinDbg、Microsoft Visual Studio(マネージドコードの .dmp ファイルを直接開くことが可能)、またはクイックなミニダンプ検査用の NirSoft BlueScreenView で分析できます。
セキュリティと安全性
リスク: MEDIUM.dmp ファイルは実行ファイルではないため、デバッガーで開いても感染することはありません。本当の懸念はプライバシーです。完全メモリダンプ (MEMORY.DMP) やアプリケーションダンプには、クラッシュ時に RAM 内にあったもの(パスワード、暗号化キー、開いていたドキュメントの内容、セッショントークンなど)が含まれる可能性があります。サポートにダンプを送信したりアップロードしたりする前に、機密情報が含まれている可能性があることを認識してください。共有する場合は完全なダンプよりもミニダンプを優先してください。また、クラッシュダンプはディスク容量を確保するために削除しても安全です(ディスククリーンアップ > «システムエラーのメモリーダンプファイル»)。Windows は次回のクラッシュ時にこれらを再作成します。
形式の詳細
概要- Oracle Data Pump / exp エクスポート (.dmp) - Oracle の expdp/exp ユーティリティによる独自のバイナリデータベースエクスポートです。impdp/imp を使用してデータベースに再度ロードされます。メモリダンプではなく、デバッガーで読み取ることはできません。
DMP ファイルを開くプログラム
技術的詳細
詳細仕様| ファイル形式 | バイナリ (人間が読める形式ではなく、構造化されたバイナリメモリクロスナップショット) |
| マジックバイト - ミニダンプ | 4D 44 4D 50 (ASCII: MDMP) オフセット 0 |
| マジックバイト - 32-bit カーネルダンプ | 50 41 47 45 44 55 4D 50 (ASCII: PAGEDUMP) オフセット 0 |
| マジックバイト - 64-bit カーネルダンプ | 50 41 47 45 44 55 36 34 (ASCII: PAGEDU64) オフセット 0 |
| MIME タイプ | application/octet-stream |
| 開発元 | Microsoft |
| デフォルトパス - 完全 / カーネルダンプ | %SystemRoot%\Memory.dmp (次回のクラッシュで上書き) |
| デフォルトパス - ミニダンプ | %SystemRoot%\Minidump\MiniMMDDYY-NN.dmp (クラッシュごとに個別のファイルとして保持) |
| ミニダンプの基本サイズ | 最小 64 KB。現代の Windows ではより大きなミニダンプが生成される場合があります |
| ダンプの種類 | 完全、カーネル、最小 (ミニダンプ)、自動 (Windows 8+)、アクティブメモリダンプ (Windows 10+) |
| 作成トリガー | カーネルパニック / ブルースクリーン (BSOD)。タスクマネージャーや ProcDump を介して手動で作成することも可能 |
| ミニダンプの内容 | STOP バグチェックコードとパラメータ、PRCB、EPROCESS、ETHREAD 構造体、ロードされたドライバーリスト |
| 主な分析ツール | WinDbg / WinDbg Preview (Windows デバッガー、Debugging Tools for Windows の一部) |
| 二次的な分析ツール | Microsoft Visual Studio (マネージドコードダンプ)、NirSoft BlueScreenView (ミニダンプビューアー) |
| ダンプの種類の設定 | システムのプロパティ → 詳細設定 → 起動と回復 → デバッグ情報の書き込み |
| 関連する拡張子 | .mdmp (明示的なミニダンプバリアント), .hdmp (ヒープダンプ), .dump, .core (Linux における同等品) |
| リリース日 | Windows minidump format from the Windows 2000/XP era |
| 仕様書 | learn.microsoft.com |
DMP の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。DMP ファイルについて最初の質問をしてみましょう。