クラッシュが発生した場合に Windows によって作成された小さなメモリ ダンプ ファイルを読み取る方法

この記事では、小さなメモリ ダンプ ファイルを調べる方法について説明します。 小さなメモリ ダンプ ファイルは、コンピューターが失敗した理由を判断するのに役立ちます。

適用対象 サポートされているすべてのバージョンの Windows クライアントと Windows Server

元の KB 番号: 315263

注:

Windows 8以降のデバッグ情報を探している場合は、「Windows 用デバッグ ツール (WinDbg、KD、CDB、NTSD)」を参照してください。 小さなメモリ ダンプの詳細については、「 小さなメモリ ダンプ」を参照してください。

小さなメモリ ダンプ ファイル

お使いのコンピューターが失敗した場合、何が発生したかを判断し、問題を解決し、再び発生するのを防ぐ方法を教えてください。 この状況では、小さなメモリ ダンプ ファイルが役立つ場合があります。 小さなメモリ ダンプ ファイルには、コンピューターが失敗した理由を特定するのに役立つ最小限の有用な情報が含まれています。 メモリ ダンプ ファイルには、次の情報が含まれています。

  • Stop メッセージ、そのパラメーター、およびその他のデータ
  • 読み込まれたドライバーの一覧
  • 停止したプロセッサーのプロセッサー・コンテキスト (PRCB)
  • 停止したプロセスのプロセス情報とカーネル コンテキスト (EPROCESS)
  • 停止したスレッドのプロセス情報とカーネル コンテキスト (ETHREAD)
  • 停止したスレッドのカーネル モード呼び出し履歴

メモリ ダンプ ファイルを作成するには、ブート ボリューム上のページング ファイルが少なくとも 2 MB (MB) である必要があります。 Microsoft Windows 2000 以降のバージョンの Windows を実行しているコンピューターでは、コンピューターの障害が発生するたびに新しいメモリ ダンプ ファイルが作成されます。 これらのファイルの履歴はフォルダーに格納されます。 2 つ目の問題が発生し、Windows が 2 つ目の小さなメモリ ダンプ ファイルを作成した場合、Windows は前のファイルを保持します。 Windows では、各ファイルに個別の日付でエンコードされたファイル名を指定します。 たとえば、 Mini022900-01.dmp は、2000 年 2 月 29 日に生成された最初のメモリ ダンプ ファイルです。 Windows では、すべての小さなメモリ ダンプ ファイルの一覧が %SystemRoot%\Minidump フォルダーに保持されます。

小さなメモリ ダンプ ファイルは、ハード ディスクの領域が限られている場合に役立ちます。 ただし、含まれる情報が限られているため、問題の時点で実行されていたスレッドによって直接発生しなかったエラーは、このファイルの分析によって検出されない可能性があります。

ダンプの種類を構成する

小さなメモリ ダンプ ファイルを使用するように起動オプションと回復オプションを構成するには、次の手順に従います。

注:

お使いのコンピューターでは、Windows のバージョンによって次の手順が異なる場合があります。 異なる場合は、製品のドキュメントを参照して、これらの手順を完了してください。

  1. [スタート] > [コントロール パネル] の順に選択します。

  2. [システム] をダブルクリックし、[システム設定>の詳細設定] を選択します

  3. [ スタートアップと回復] で、[ 設定] を選択します。

  4. [ デバッグ情報の書き込み ] ボックスの一覧で、[ Small memory dump (256k)] を選択します。

    [スタートアップと回復] ウィンドウの [デバッグ情報の書き込み] ボックスの一覧にある [小さなメモリ ダンプ (256k)] オプションのスクリーンショット。

小さなメモリ ダンプ ファイルのフォルダーの場所を変更するには、[ ダンプ ファイル ] ボックスまたは [ 小さなダンプ ディレクトリ ] ボックスに新しいパスを入力します (Windows のバージョンに応じて)。

小さなメモリ ダンプ ファイルを読み取るツール

ダンプ チェック ユーティリティ (Dumpchk.exe) を使用して、メモリ ダンプ ファイルを読み取るか、ファイルが正しく作成されたことを確認します。

注:

ダンプ チェック ユーティリティでは、デバッグ シンボルへのアクセスは必要ありません。 シンボル ファイルには、バイナリを実行するときに実際には必要ないさまざまなデータが保持されます。 ただし、このデータはデバッグに非常に役立つ可能性があります。

Windows NT、Windows 2000、Windows Server 2003、または Windows Server 2008 でダンプ チェック ユーティリティを使用する方法の詳細については、「Dumpchk.exe を使用してメモリ ダンプ ファイルをチェックする」を参照してください。

Windows XP、Windows Vista、または Windows 7 でダンプ チェック ユーティリティを使用する方法の詳細については、「Dumpchk.exe を使用してメモリ ダンプ ファイルをチェックする方法」を参照してください。

または、Windows デバッガー (WinDbg.exe) ツールまたはカーネル デバッガー (KD.exe) ツールを使用して、小さなメモリ ダンプ ファイルを読み取ることができます。 WinDbg.exeKD.exe は、最新バージョンの Windows 用デバッグ ツール パッケージに含まれています。

デバッグ ツールをインストールするには、「 Windows 用デバッグ ツールのダウンロードとインストール 」Web ページを参照してください。 [ 標準 インストール] を選択します。 既定では、インストーラーはデバッグ ツールを次のフォルダーにインストールします。

C:\Program Files\Debugging Tools for Windows

ツール Web ページでは、Windows 用のダウンロード可能なシンボル パッケージにもアクセスできます。 Windows シンボルの詳細については、「シンボル を使用したデバッグ」および 「Windows シンボル パッケージのダウンロード 」Web ページを参照してください。

Windows のダンプ ファイル オプションの詳細については、「Windows のメモリ ダンプ ファイル オプションの概要」を参照してください。

ダンプ ファイルを開く

インストールが完了した後でダンプ ファイルを開くには、次の手順に従います。

  1. [Start Run]\(実行の開始\>) を選択し、「」と入力cmdし、[OK] を選択します

  2. [Windows 用デバッグ ツール] フォルダーに移動します。 これを行うには、コマンド プロンプトで次のように入力し、Enter キーを押します。

    cd C:\Program Files\Debugging Tools For Windows
    
  3. デバッガーにダンプ ファイルを読み込むには、次のいずれかのコマンドを入力し、Enter キーを押します。

    windbg -y SymbolPath -i ImagePath -z DumpFilePath
    
    kd -y SymbolPath -i ImagePath -z DumpFilePath
    

次の表では、これらのコマンドで使用されるプレースホルダーの使用方法について説明します。

プレースホルダー 説明
SymbolPath シンボル ファイルがダウンロードされたローカル パスか、キャッシュ フォルダーを含むシンボル サーバー パスのいずれか。 小さなメモリ ダンプ ファイルには限られた情報が含まれているため、ダンプ ファイルを正しく読み取るには、実際のバイナリ ファイルをシンボルと共に読み込む必要があります。
Imagepath これらのファイルのパス。 ファイルは、Windows XP CD-ROM の I386 フォルダーに含まれています。 たとえば、パスは です C:\Windows\I386
DumpFilePath 調べるダンプ ファイルのパスとファイル名。

サンプル コマンド

次のサンプル コマンドを使用して、ダンプ ファイルを開くことができます。 これらのコマンドは、次のことを前提としています。

  • Windows CD-ROM の I386 フォルダーの内容は 、C:\Windows\I386 フォルダーにコピーされます。
  • ダンプ ファイルの名前は C:\Windows\Minidump\Minidump.dmpです。

サンプル 1 (コマンド ライン):

kd -y srv*C:\Symbols*https://msdl.microsoft.com/download/symbols -i C:\Windows\i386 -z C:\Windows\Minidump\minidump.dmp

サンプル 2 (グラフィカル UI)。 コマンド ライン バージョンではなく、グラフィカル バージョンのデバッガーを使用する場合は、代わりに次のコマンドを入力します。

windbg -y srv*C:\Symbols*https://msdl.microsoft.com/download/symbols -i C:\Windows\i386 -z C:\Windows\Minidump\minidump.dmp

ダンプ ファイルを調べる

ダンプ ファイル内の情報を収集するために使用できるコマンドには、次のようなコマンドがいくつかあります。

  • コマンドは !analyze -show 、Stop エラー コードとそのパラメーターを表示します。 Stop エラー コードは、バグ チェック コードとも呼ばれます。
  • コマンドは !analyze -v 詳細出力を表示します。
  • コマンドは lm N T 、指定された読み込まれたモジュールを一覧表示します。 出力には、モジュールの状態とパスが含まれます。

注:

以前のバージョンの Windows (以前の Windows XP) !drivers では、拡張機能コマンドは、対象のコンピューターに読み込まれているすべてのドライバーの一覧と、メモリ使用量に関する概要情報を表示します。 ただし、 !drivers 拡張機能コマンドは Windows XP 以降のバージョンでは廃止されています。 読み込まれたドライバーやその他のモジュールに関する情報を表示するには、 コマンドを lm 使用します。 コマンドは lm N T 、古い !drivers 拡張機能に似た形式で情報を表示します。

他のコマンドのヘルプと完全なコマンド構文については、デバッグ ツールのヘルプ ドキュメントを参照してください。 デバッグ ツールのヘルプ ドキュメントは、次の場所にあります。

C:\Program Files\Debugging Tools for Windows\Debugger.chm

注:

シンボル関連の問題がある場合は、Symchk ユーティリティを使用して、正しいシンボルが正しく読み込まれたことを確認します。 Symchk の使用方法の詳細については、「 シンボルを使用したデバッグ」を参照してください。

バッチ ファイルを使用してコマンドを簡略化する

メモリ ダンプの読み込みに使用する必要があるコマンドを特定したら、バッチ ファイルを作成してダンプ ファイルを調べることができます。 たとえば、バッチ ファイルを作成し 、Dump.batという 名前を付けます。 デバッグ ツールがインストールされているフォルダーに保存します。 バッチ ファイルに次のテキストを入力します。

cd "C:\Program Files\Debugging Tools for Windows"

kd -y srv*C:\Symbols*https://msdl.microsoft.com/download/symbols -i C:\Windows\i386 -z %1

ダンプ ファイルを調べる場合は、次のコマンドを入力して、ダンプ ファイルのパスをバッチ ファイルに渡します。

dump C:\Windows\Minidump\minidump.dmp