ページ ファイルと共にメモリ ダンプを含む CAB ファイル
メモリ ダンプ ファイルは、ページング ファイルと共にキャビネット (CAB) ファイルに配置できます。 Windows デバッガーは、メモリ ダンプ ファイルを分析するときに、ページング ファイルを使用して、ダンプ ファイルの作成時にページ アウトされたメモリを含むフル ビュー メモリを表示できます。
MyCab.cab という名前の CAB ファイルに次のファイルが含まれているとします。
Memory.dmp Cabmanifest.xml Pagefile.sys。また、次のような Cabmanifest.xml があるとします。
<?xml version="1.0" encoding="UTF-8"?>
<WatsonPageFileManifest>
<Pagefiles>
<Pagefile Name="pagefile.sys"></Pagefile>
</Pagefiles>
</WatsonPageFileManifest>
次のコマンドのいずれかを入力すると、CAB ファイルを開くことができます。
- windbg /z MyCab.cab
- kd /z MyCab.cab
デバッガーは、デバッグ セッションに含めるページング ファイルの一覧の Cabmanifest.xml を読み取ります。 この例では、ページング ファイルは 1 つだけです。 デバッガーは、ページング ファイルを、デバッグ セッション中に使用できるターゲット情報ファイル (TIF) ファイルに変換します。 デバッガーは TIF にアクセスできるため、ダンプ ファイルの作成時にページ アウトされたメモリを表示できます。
CAB ファイル内のページング ファイルの数に関係なく、デバッガーは、Cabmanifest.xml に一覧表示されているページング ファイルのみを使用します。 以下は、3 つのページング ファイルを一覧表示している CAB マニフェスト ファイルの例です。
<?xml version="1.0" encoding="UTF-8"?>
<WatsonPageFileManifest>
<Pagefiles>
<Pagefile Name="pagefile1.sys"></Pagefile>
<Pagefile Name="pagefile2.sys"></Pagefile>
<Pagefile Name="swapfile.sys"></Pagefile>
</Pagefiles>
</WatsonPageFileManifest>
Cabmanifest.xml では、Windows が使用するのと同じ順序でページング ファイルを一覧表示する必要があります。 つまり、レジストリに表示される順序で記載されている必要があります。
CAB ファイルに格納するメモリ ダンプ ファイルは、完全なメモリ ダンプでなければなりません。 コントロール パネルを使用して、クラッシュの発生時に完全なメモリ ダンプを作成するように Windows を構成できます。 たとえば、Windows 8 では、[コントロール パネル] > [システムとセキュリティ] > [システム] > [システムの詳細設定] > [起動と回復] に移動できます。 コントロール パネルを使用する代わりに、このレジストリ エントリの値を 1 に設定することもできます。
HKLM\SYSTEM\CurrentControlSet\Control\CrashControl\CrashDumpEnabled
Windows 8.1 以降では、Windows の再起動時にページング ファイルの内容を保持するように Windows を構成できます。
Windows の再起動時にページング ファイルを保存するには、このレジストリ エントリの値を 1 に設定します。
HKLM\SYSTEM\CurrentControlSet\Control\CrashControl\SavePageFileContents