次の方法で共有


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

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

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

元の KB 番号: 315263

Note

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

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

コンピューターで障害が発生した場合、何が発生したかを特定し、問題を修正し、再び発生しないようにするにはどうすればよいですか? このような状況では、小さなメモリ ダンプ ファイルが役立つ場合があります。 小さなメモリ ダンプ ファイルには、コンピューターが失敗した理由を特定するのに役立つ最小限の有用な情報が含まれています。 メモリ ダンプ ファイルには、次の情報が含まれています。

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

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

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

ダンプの種類を構成する

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

Note

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

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

  2. System をダブルクリックし、[Advanced system settings>Advanced を選択します。

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

  4. デバッグ情報一覧で、Small メモリ ダンプ (256k)を選択します。

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

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

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

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

Note

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

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 は、最新バージョンの Debugging Tools for Windows パッケージに含まれています。

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

C:\Program Files\Debugging Tools for Windows

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

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

ダンプ ファイルを開く

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

  1. Start>Run を選択し、「cmd」と入力して、OK を選択します。

  2. Debugging Tools for 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 コマンドは、読み込まれた指定されたモジュールを一覧表示します。 出力には、モジュールの状態とパスが含まれます。

Note

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

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

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

Note

シンボル関連の問題がある場合は、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