.dump (ダンプ ファイルの作成)

.dump コマンドは、ユーザー モードまたはカーネル モードのクラッシュ ダンプ ファイルを作成します。

.dump [options] FileName
.dump /?

パラメーター

[オプション]
次の 1 つ以上のオプションを表します。

/a
すべてのプロセスのダンプを作成します (-u が必要)。

/b[a]
ダンプを CAB にパッケージ化し、ダンプを削除します。 a オプションが指定されている場合、追加情報が含まれます。

/c <comment>
コメントを追加します (すべての形式でサポートされているわけではありません)。

/j <addr>
JIT_DEBUG_INFO アドレスを指定します。

/o
既存のダンプ ファイルを同じ名前で上書きします。 このオプションを使用しない場合、同名のファイルが存在する場合、ダンプファイルは書き込まれません。

/u
ダンプ名に一意の識別子を追加します。

/f[FullOptions]
(カーネルモード:)完全なメモリ ダンプを作成します。

(ユーザーモード:)サポートされていません。 以前は、このオプションは完全なユーザー モード ダンプを作成していましたが、これは新しいミニダンプ形式よりも情報が少ない従来の形式です。 詳細については、「さまざまなユーザーモード ダンプ ファイル」を参照してください。

次の FullOptions を追加して、ダンプ ファイルの内容を変更できます。オプションでは大文字と小文字が区別されます。

FullOption 結果
y AVX レジスタ情報をダンプ ファイルに追加します。

/m[MiniOptions]
小さなメモリ ダンプ (カーネル モード) またはミニダンプ (ユーザー モード) を作成します。詳細については、「ユーザー モード ダンプ ファイル」を参照してください。 /f/m も指定されていない場合は、/m がデフォルトになります。

ユーザー モードでは、/m の後に、ダンプに含める追加のデータを指定する追加の MiniOptions を指定できます。 MiniOptions が含まれていない場合、ダンプにはモジュール、スレッド、スタック情報が含まれますが、追加データは含まれません。 次の MiniOptions のいずれかを追加して、ダンプ ファイルの内容を変更できます。大文字と小文字が区別されます。

MiniOption 結果
a すべてのオプションの追加を含むミニダンプを作成します。 /ma オプションは /mfFhut と同等です。これは、完全なメモリ データ、ハンドル データ、アンロードされたモジュール情報、基本メモリ情報、およびスレッド時間情報をミニダンプに追加します。 アクセスできないメモリの読み取りに失敗すると、ミニダンプの生成が終了します。
A /mA オプションは、アクセスできないメモリの読み取り失敗を無視し、ミニダンプの生成を続行することを除いて、/ma と同等です。
f フルメモリデータをミニダンプに追加します。 ターゲット アプリケーションが所有する、アクセス可能なコミット済みページがすべて含まれます。
F すべての基本的なメモリ情報をミニダンプに追加します。 これにより、有効なメモリに関する情報だけでなく、すべての基本的なメモリ情報を含むストリームがミニダンプに追加されます。 これにより、ミニダンプのデバッグ中にデバッガーがプロセスの完全な仮想メモリ レイアウトを再構築できるようになります。
ターゲット アプリケーションに関連付けられたハンドルに関するデータをミニダンプに追加します。
u アンロードされたモジュール情報をミニダンプに追加します。
t 追加のスレッド情報をミニダンプに追加します。 これには、ミニダンプのデバッグ時に !runaway 拡張子または .ttime (スレッド時間の表示) コマンドを使用して表示できるスレッド時間が含まれます。
i 二次メモリをミニダンプに追加します。 二次メモリとは、スタックまたはバッキング ストア上のポインタによって参照されるメモリと、このアドレスを囲む小さな領域を指します。
P プロセス環境ブロック (PEB) およびスレッド環境ブロック (TEB) データをミニダンプに追加します。 これは、アプリケーションのプロセスとスレッドに関する Windows システム情報にアクセスする必要がある場合に役立ちます。
w コミットされたすべての読み取り/書き込みプライベート ページをミニダンプに追加します。
d 実行可能イメージ内のすべての読み取り/書き込みデータ セグメントをミニダンプに追加します。
c 画像内にコードセクションを追加します。
r スタック トレースの再作成に役に立たないスタックおよびストア メモリの部分をミニダンプから削除します。 ローカル変数およびその他のデータ型の値も削除されます。 このオプションはミニダンプを小さくしません (これらのメモリ セクションが単にゼロにされるため) が、他のアプリケーションのプライバシーを保護したい場合に便利です。
R ミニダンプから完全なモジュール パスを削除します。 モジュール名のみが含まれます。 これは、ユーザーのディレクトリ構造のプライバシーを保護したい場合に便利なオプションです。
y AVX レジスタ情報をダンプ ファイルに追加します。

カーネルモードのオプション

カーネル モードでは次のオプションが使用できます。

/k
カーネル メモリのみを使用してダンプを作成します。

/か
アクティブなカーネルとユーザー モード メモリを使用してダンプを作成します。

追加情報

カーネル モード ダンプ ファイルの説明とその使用方法については、「カーネル モード ダンプ ファイル」を参照してください。 ユーザー モード ダンプ ファイルの説明とその使用方法については、「ユーザー モード ダンプ ファイル」を参照してください。

解説

このコマンドはさまざまな状況で使用できます。

  • ライブ ユーザー モード デバッグ中、このコマンドはターゲット アプリケーションにダンプ ファイルを生成するように指示しますが、ターゲット アプリケーションは終了しません。

  • ライブ カーネル モード デバッグ中、このコマンドはターゲット コンピューターにダンプ ファイルを生成するように指示しますが、ターゲット コンピューターはクラッシュしません。

  • クラッシュ ダンプのデバッグ中に、このコマンドは古いクラッシュ ダンプ ファイルから新しいクラッシュ ダンプ ファイルを作成します。 これは、大きなクラッシュ ダンプ ファイルがあり、より小さなクラッシュ ダンプ ファイルを作成したい場合に便利です。

どのタイプのダンプ ファイルが生成されるかを制御できます。

  • カーネル モードで完全なメモリ ダンプを生成するには、/f オプションを使用します。 少量のメモリ ダンプを生成するには、/m オプションを使用します (またはオプションを使用しません)。 .dump コマンドはカーネル メモリ ダンプを生成できません。

  • ユーザー モードでは、 .dump/m[MiniOptions] が最適な選択です。 「m」は「minidump」を表しますが、この MiniOption を使用して作成されるダンプ ファイルのサイズは、非常に小さいものから非常に大きいものまでさまざまです。 適切な MiniOptions を指定することで、どのような情報を含めるかを正確に制御できます。 たとえば、 .dump /ma は、大量の情報を含むダンプを生成します。 古いコマンド .dump /f は、中程度の大きさの「標準ダンプ」ファイルを生成するため、カスタマイズできません。

どのプロセスをダンプするかを指定することはできません。 実行中のプロセスはすべてダンプされます。

/xc, /xr, /xp, および /xt オプションは、例外およびコンテキスト情報をダンプ ファイルに保存するために使用されます。 これにより、このダンプ ファイルに対して .ecxr (例外コンテキスト レコードの表示) コマンドを実行できるようになります。

次の例では、完全なメモリとハンドル情報を含むユーザー モードのミニダンプを作成します。

0:000> .dump /mfh myfile.dmp

ハンドル情報は、!handle 拡張コマンドを使用して読み取ることができます。

参照

さまざまなカーネルモード ダンプ ファイル

.ecxr