WinDBG デバッガーを使用してブルースクリーン オブ デスをトラブルシューティングするにはどうすればよいですか? - TechRepublic

WinDBG デバッガーを使用してブルースクリーン オブ デスをトラブルシューティングするにはどうすればよいですか? - TechRepublic

Jacky Howe
著 悪名高いブルースクリーン(BSOD)から、どうすれば詳細情報を得られるか考えたことがありますか?BSODは、時々表示される「 Stop: 0x00000000」という不可解なエラーメッセージが表示され、画面が消えてしまうことがあります。このエラーメッセージは、様々な問題によって引き起こされる可能性のある致命的なオペレーティングシステムエラーを示唆しています。

Microsoft の WinDBG は、問題をデバッグして診断し、根本原因を突き止めて修正するのに役立ちます。

このブログ投稿は、PDF 形式でも無料で TechRepublic からダウンロードできます。

手順を簡単にまとめると

  1. トラブルシューティングしようとしている BSOD に関連するメモリ ダンプを作成してキャプチャします。
  2. WinDBG とシンボル パスを正しいシンボル フォルダーにインストールして構成します。
  3. WinDBG を使用して画面ダンプをデバッグおよび分析し、問題の根本原因を突き止めます。

メモリダンプを作成する

ブルー スクリーンの致命的なシステム エラーが発生していない場合は、キャプチャするメモリ ダンプは存在しないことに注意してください。

1. Winキー+Pauseキーを押します。

2. [詳細設定] をクリックし、[起動と回復] の下にある [設定] を選択します。

3. 「自動的に再起動する」のチェックを外します。

4. 「デバッグ情報の書き込み」の下のドロップダウン矢印をクリックします。

5. 「Small Memory Dump (64 KB)」を選択し、出力が%SystemRoot%\Minidumpであることを確認します。

6. PC を通常どおり再起動します。これにより、システム エラーとブルー スクリーンが解消され、ミニダンプが作成されます。

Minidump ファイルの場所は、次のとおりです。

C:\WINDOWS\ミニダンプ\Mini000000-01.dmp

ご使用の Windows バージョン用の Windows デバッグ ツールをダウンロードしてインストールするには、Microsoft デバッグ ツール Web サイトにアクセスしてください。

プロンプトに従ってインストールしてください。デフォルト設定を受け入れる場合は、シンボルの場所をメモしておいてください。私は通常、最初にフォルダを作成し、そのフォルダにインストールするようにしています。これは、WinDBGをXPとVistaの2つのオペレーティングシステムで使用しており、それらを分離して整理したいためです。

この Microsoft サポート技術情報の記事では、Windows がデバッグの目的で作成する小さなメモリ ダンプ ファイルの読み方について説明します。

WinDBGの設定と使用

1. 「スタート」→「すべてのプログラム」→「Windows用デバッグツール」をクリックし、WinDBGを開きます。「ファイル」→「シンボルファイルパス」を選択し、状況に合わせて修正します。そして、図Aのようにボックスにコピー&ペーストし、「OK」をクリックします。私のおすすめは以下のとおりです。

SRV*c:\symbols*http://msdl.microsoft.com/download/symbols

または、異なるシンボルを使用している場合:

SRV*c:\Vistasymbols*http://msdl.microsoft.com/download/symbols

SRV*c:\XPsymbols*http://msdl.microsoft.com/download/symbols

図A

シンボルパス

2. ワークスペースを閉じ、図Bに示すようにワークスペース情報を保存します。これにより、シンボルパスがロックされます。

図B

ワークスペース

3. WinDBG を開き、[ファイル] を選択して [クラッシュ ダンプを開く] を選択し、先ほど作成したミニダンプ ファイルに移動して強調表示し、[開く] を選択します。

クリック:

! 分析 -v

図 Cのバグチェック分析に示すように。

図C

! 分析 -v

ヒント!画面下部の右側に「kd>;」と表示されているはずです。「!analyze -v」または「.lastevent」と入力してEnterキーを押します。すると、例外が発生した関数の例外レコードとスタックトレースが表示されます。

.exr、.cxr、および .ecxr コマンドを使用して、例外レコードとコンテキスト レコードを表示することもできます。

ドライバーを操作するときは、図 Dに示すように、kd> lm tn を使用して追加情報を取得できます。

[Ctrl]+[A] を押すと、情報をコピーしてメモ帳に貼り付けることができます。

図D

えーっと>

たとえば、図 Eに示すような情報については、ページの下部を参照してください。

図E

スタックトレース

結論

BSOD が発生する問題は、USB モデムにインストールされているダイヤラーソフトウェアが原因でした。ソフトウェアをアンインストールしても問題は解決しませんでした。

この問題は、WinDBGツールを使用してメモリダンプファイルをデバッグおよび分析することで解決しました。修正方法は、C:\Windows\System\fldevice.sysドライバの名前をC:\Windows\System\fldevice.sys.oldに変更することでした。ソフトウェアをアンインストールしたにもかかわらず、Windowsは依然としてこのファイルを参照していました。このツールは非常に役立ち、BSODが発生した際に発生する可能性のある問題の解決に役立ちます。

TechRepublic の Windows XP ニュースレターは毎週木曜日に配信され、最新の XP のヒントやコツを常に把握できます。今すぐ登録して、今すぐ使い始めましょう!

Tagged: