Windowsエラーログの解析方法 WinDbg(Debugging Tools for Windows)の使い方
パソコンがBSoD(Blue Screen of Death、ブルースクリーン)で再起動した場合などに、原因の解析のためにエラーログファイルが残されます。
このログの中身を見ると、クラッシュの原因になったモジュールなどがわかります。
WinDbg(Debugging Tools for Windows)のインストール
ダウンロード
下のリンクの「Windows 向けデバッグ ツール (WinDbg) を SDK から入手する」をクリックして、winsdksetup.exeをダウンロードします。
インストール
インストーラーを起動します。
「Debugging Tools for Windows」にチェックを入れてインストール。
ファイルの解析
ダンプファイルの場所
Minidumpファイルの場所を確認します。拡張子が.dmpのファイルです。
通常は以下のディレクトリーにあります。
C:\Windows\Minidump
WinDbgでダンプファイルを開く
タスクバーの検索ボックスなどからWinDbgを起動します。
シンボルパスの設定
シンボルというのはデバッグに使う情報です。設定しなくても使えますが、ネットワークに接続している環境であれば使った方が良いでしょう。
設定方法は、最初にCドライブ直下に「symbols」というフォルダーを作り、メニューのファイル > Symbol file path… (Ctrl+S)> に以下を貼り付けます。
(WinDbgはパスを保存しないので、貼り付け作業は毎回必要になります)
SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
ダンプファイルを開く
Open Crash Dump… (Ctrl+D) からダンプファイルを開きます
権限がないといわれて開けない場合はWinDbgをいったん終了し、管理者権限で起動します。
!analyze -v を実行
スクロールして「!analyze -v」をクリックすると自動で解析が始まります。
ポイントになるのはこのあたり。
先日の記事で書いたケースを例に出すとこんな感じ。
Probably caused by : partmgr.sys
KMODE_EXCEPTION_NOT_HANDLED (1e)
This is a very common bugcheck. Usually the exception address pinpoints
the driver/function that caused the problem.
PROCESS_NAME: avp.exe
MODULE_NAME: partmgr
IMAGE_NAME: partmgr.sys
不具合を引き起こしているモジュールなどが出てくるので、それに関連するハードウェアやソフトウェアの取り外し・変更・再インストール・ドライバーの更新などを行って症状が改善するか調べます。
バグチェックの内容は以下で調べます。英語サイトなのでわかりにくい場合はGoogle Chromeで開き、右クリック > 日本語に翻訳で日本語化できます。まあ英語でも日本語でも意味不明な場合が多いのですが(笑
モジュール等はその名称で検索してベンダーや何に使っているものなのかなどを調べます。
必ずしもピンポイントで不具合の原因がわかるというものでもないので、原因の特定ができず、もっと解析が必要な場合は専門のエンジニアでないと難しいかも。
WinDbg以外にもフリーの解析ツールがありますので、これも参考になります。
ディスカッション
コメント一覧
まだ、コメントがありません