文書番号: 315263 - 最終更新日: 2010年3月26日 - リビジョン: 5.3

Windows でデバッグ用に作成された最小メモリ ダンプ ファイルを読み取る方法

お知らせお使いのオペレーティング システムには適用しない情報が含まれている場合があります。
この記事は、以前は次の ID で公開されていました: JP315263

Windows 用のセキュリティ更新プログラムを継続して入手するには、Windows XP Service Pack 3 (SP3) を実行していることを確認してください。詳細については、次のマイクロソフト Web ページを参照してください。Windows のいくつかのバージョンのサポートを終了する (http://windows.microsoft.com/ja-jp/windows/help/end-support-windows-xp-sp2-windows-vista-without-service-packs?os=xp)

目次

すべて展開する | すべて折りたたむ

概要

この資料では、最小メモリ ダンプ ファイルの調査方法について、手順を追って説明します。最小メモリ ダンプ ファイルを使用すると、コンピューターが応答を停止した原因を突き止めることができます。

最小メモリ ダンプ ファイル

最小メモリ ダンプ ファイルには、コンピューターが予期せず停止した理由を判別するのに役立つ最小限の情報が記録されます。このオプションでは、ブート ボリュームに 2 MB 以上のページング ファイルが必要です。また、Microsoft Windows 2000 以降を実行しているコンピューターでは、コンピューターが予期せず停止するたびにファイルが新しく作成されます。作成されたファイルの履歴はフォルダーに格納されます。

この種類のダンプ ファイルでは次の情報が記録されます。
  • STOP メッセージとパラメーター、およびその他のデータ
  • 読み込まれているドライバーの一覧
  • 停止したプロセッサのプロセッサ コンテキスト (PRCB)
  • 停止したプロセスのプロセス情報とカーネル コンテキスト (EPROCESS)
  • 停止したスレッドのプロセス情報とカーネル コンテキスト (ETHREAD)
  • 停止したスレッドのカーネル モードの呼び出し履歴
このダンプ ファイルは、ハード ディスク領域が限られている場合に役立ちます。ただし、記録される情報が制限されるため、障害発生時に実行していたスレッドによって直接引き起こされたエラー以外のエラーは、このファイルの分析からは発見できないことがあります。

別の問題が発生して 2 つ目の最小メモリ ダンプ ファイルを作成するとき、Windows は、以前に作成した最小メモリ ダンプ ファイルを維持します。この場合、それぞれのダンプ ファイルに対して、識別可能な日付をコード化したファイル名が付与されます。たとえば、Mini022900-01.dmp という名前のファイルであると、2000 年 2 月 29 日に作成された 1 番目のメモリ ダンプ ファイルであることがわかります。Windows は、%SystemRoot%\Minidump フォルダーに最小メモリ ダンプ ファイルの一覧を維持します。

ダンプの種類の設定

最小メモリ ダンプ ファイルを使用するための起動と回復のオプションを設定するには、以下の手順を実行します。

: Microsoft Windows には複数のバージョンが存在するため、使用中のコンピューターによっては以下の手順が異なる場合があります。この場合、製品のマニュアルを参照のうえ、手順を実行するようにしてください。
  1. [スタート] ボタンをクリックし、[設定] をポイントし、[コントロール パネル] をクリックします (Windows XP の場合は [スタート] ボタンをクリックし、[コントロール パネル] をクリックします)。
  2. [システム] をダブルクリックします。
  3. [詳細設定] タブをクリックし、[起動と回復] の [設定] をクリックします。
  4. [デバッグ情報の書き込み] ボックスの一覧で、[最小メモリ ダンプ (64 KB)] をクリックします。

    最小メモリ ダンプ ファイルの保存先とするフォルダーを変更するには、[ダンプ ファイル] ボックス (使用する Windows のバージョンによっては [最小ダンプ ディレクトリ] ボックス) に新たなパスを入力します。

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

ダンプ チェック ユーティリティ (Dumpchk.exe) を使用して、最小メモリ ダンプ ファイルを読み込むことができます。Dumpchk.exe を使用すると、メモリ ダンプ ファイルが正しく作成されているかどうかを検証することもできます。ダンプ チェック ユーティリティでは、デバッグ シンボルにアクセスする必要がありません。このユーティリティは、Microsoft Windows 2000 サポート ツールおよび Microsoft Windows XP サポート ツールに含まれています。

Windows 2000 および Windows NT でダンプ チェック ユーティリティを使用する方法の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
156280? (http://support.microsoft.com/kb/156280/ ) Dumpchk.exe を使用してメモリ ダンプ ファイルを確認する方法
Windows XP でダンプ チェック ユーティリティを使用する方法の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
315271? (http://support.microsoft.com/kb/315271/ ) Dumpchk.exe を使用してメモリ ダンプ ファイルをチェックする方法
: ダンプ チェック ユーティリティは、Microsoft Windows Server 2003 サポート ツールには含まれていません。Microsoft Windows Server 2003 を使用している場合にダンプ チェック ユーティリティを入手するには、Debugging Tools for Windows パッケージをダウンロードし、インストールしてください。このパッケージは、以下のマイクロソフト Web サイトから入手できます。
http://www.microsoft.com/japan/whdc/devtools/debugging/default.mspx (http://www.microsoft.com/japan/whdc/devtools/debugging/default.mspx)
WinDbg ツールまたは KD.exe ツールを使用して、最小メモリ ダンプ ファイルを読み取ることもできます。WinDbg と KD.exe は、最新版の Debugging Tools for Windows パッケージに含まれています。
上記の Web ページでは、Windows 対応のダウンロード可能なシンボル パッケージへのアクセス情報も提供されています。リソースを使用する場合には、ダウンロードしたローカル シンボルまたはシンボル サーバー用のシンボル キャッシュを配置するディスク ドライブ上にフォルダーを作成する必要があります。たとえば、C:\Symbols を使用します。この資料に記載されているすべてのコマンドでは、以下のシンボル パスを使用できます。
SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
シンボルをローカル フォルダーにダウンロードする場合、フォルダーへのパスをシンボル パスとして使用します。

Windows のダンプ ファイル オプションの関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
254649? (http://support.microsoft.com/kb/254649/ ) Windows Vista、Windows Server 2008 R2、Windows Server 2008、Windows Server 2003、Windows XP、および Windows 2000 のメモリ ダンプ ファイル オプションの概要

デバッグ ツールをインストールする

以下のマイクロソフト Web サイトから Windows デバッグ ツールをダウンロードしてインストールします。
http://www.microsoft.com/japan/whdc/devtools/debugging/default.mspx (http://www.microsoft.com/japan/whdc/devtools/debugging/default.mspx)
[Typical] インストールを選択します。デバッグ ツールは、既定で、次のフォルダーにインストールされます。
C:\Program Files\Debugging Tools for Windows

ダンプ ファイルを開く

インストールの完了後、ダンプ ファイルを開くには、以下の手順を実行します。
  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。[名前] ボックスに「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*http://msdl.microsoft.com/download/symbols -i c:\windows\i386 -z c:\windows\minidump\minidump.dmp
サンプル 2: コマンド ライン バージョンではなく、グラフィック バージョンのデバッガーを使用したい場合は、次のコマンドを使用します。
windbg -y srv*c:\symbols*http://msdl.microsoft.com/download/symbols -i c:\windows\i386 -z c:\windows\minidump\minidump.dmp

ダンプ ファイルを調査する

ダンプ ファイルに情報を収集するために使用できるいくつかのコマンドがあります。たとえば、以下のコマンドがあります。
  • !analyze -show コマンドは、STOP エラー コード ("バグ チェック コード" とも呼ばれます) と、そのパラメーターを表示します。
  • !analyze -v コマンドは、詳細出力を表示します。
  • lm N T コマンドは、指定されて読み込まれたモジュールの一覧を表示します。モジュールのステータスとパスも表示されます。
: !drivers 拡張コマンドは、コンピューターに読み込まれていたすべてのドライバーの一覧を表示します。各ドライバーのメモリ使用状況に関する概要情報も表示します。!drivers 拡張コマンドは、Windows XP 以降のバージョンの Windows では使用できません。Windows XP 以降のバージョンの環境で、読み込まれているドライバーやその他のモジュールに関する情報を表示するには、lm コマンドを使用します。lm N T コマンドを使用すると、古い !drivers 拡張コマンドと同様の形式で、情報が表示されます。

その他のコマンドと完全なコマンド構文の詳細については、デバッグ ツールのヘルプ ドキュメントを参照してください。このドキュメントは、次の場所に格納されています。
C:\Program Files\Debugging Tools for Windows\Debugger.chm
: シンボルに関連する問題がある場合は、Symchk ユーティリティを使用して、正しいシンボルが正常に読み込まれていることを確認してください。 Symchk の使用の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
311503? (http://support.microsoft.com/kb/311503/ ) Microsoft Symbol Server を使用してデバッグ シンボル ファイルを取得する

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

メモリ ダンプの読み込みに必要なコマンドを確認したら、ダンプ ファイルの調査に使用するバッチ ファイルを作成できます。たとえば、デバッグ ツールをインストールしたフォルダーに Dump.bat という名前のバッチ ファイルを作成し、バッチ ファイルに次の行を入力します。
cd "c:\program files\debugging tools for windows"

kd -y srv*c:\symbols*http://msdl.microsoft.com/download/symbols -i c:\windows\i386 -z %1
ダンプ ファイルの調査が必要になったら、次のコマンドを入力し、バッチ ファイルにダンプ ファイル パスを渡します。
dump c:\windows\minidump\minidump.dmp

この資料は以下の製品について記述したものです。
  • Microsoft Windows Server 2003, 64-Bit Datacenter Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Small Business Server 2003 Premium Edition
  • Microsoft Windows Small Business Server 2003 Standard Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Professional
  • Windows Vista Enterprise 64-bit edition
  • Windows Vista Home Basic 64-bit edition
  • Windows Vista Home Premium 64-bit edition
  • Windows Vista Ultimate 64-bit edition
  • Windows 7 Beta
  • Windows Vista Business
  • Windows Vista Business 64-bit edition
  • Windows Vista Business N
  • Windows Vista Business N 64-bit Edition
  • Windows Vista Enterprise
  • Windows Vista Home Basic
  • Windows Vista Home Basic N
  • Windows Vista Home Basic N 64-bit Edition
  • Windows Vista Home Premium
  • Windows Vista Ultimate
  • Windows Server 2008 Datacenter without Hyper-V
  • Windows Server 2008 Enterprise without Hyper-V
  • Windows Server 2008 for Itanium-Based Systems
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Standard
  • Windows Server 2008 Standard without Hyper-V
  • Windows Server 2008 Datacenter
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Standard
キーワード:?
kbhowto kbenv kbinfo KB315263
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"