.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 拡張コマンドを使用して読み取ることができます。