ダンプ作成環境(ユーザ側) †環境の準備 †レジストリ設定 †アプリケーションエラーが発生した場合には、以下のようなメッセージボックスが表示される。 以下のオプションを指定してワトソン博士を起動することで、レジストリに登録することができる。 drwtsn32 -i レジストリの場所 †登録される場所 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
また、ワトソン博士以外にも、WinDBGやVisualStudio等を登録することができる。 ダンプファイル作成 †アプリケーションエラーの再現 †レジストリにワトソン博士が登録されている状態でアプリケーションエラーを発生されると、以下のメッセージが表示され、ダンプファイルが作成される。 メッセージを閉じた後、ワトソン博士を起動してダンプファイルが作成されていることを確認する。 ダンプファイル解析環境(開発者側) †環境の準備 †WinDBGをインストール †WinDBGは、WindowsSDKに付属するDebugging Tools for Windowsに含まれている。 環境変数の設定 †WinDBGの利便性を向上させるため、あらかじめ以下のシステム環境変数の設定を行うことを推奨する。
※太字は、OSのシンボルファイルをキャッシュする場所の指定。任意のディレクトリを指定すること。 ダンプファイルの解析 †ユーザ側から受け取る情報 †
プロジェクトのビルド †ユーザ側でアプリケーションエラーとなったexeと同じバージョンのプロジェクトを用意して、VisualStudioでプロジェクトを開く。
WinDBGでダンプ解析 †WinDBGを起動して、ユーザから受け取ったダンプファイルをドラッグ&ドロップする。 以下のようなコマンドウィンドウが表示される。最下部の入力ボックスにコマンドを入力して解析を進めていく。 以下の簡易解析コマンドを行うことで、簡単に原因が特定できる場合もある。 !analyze -v クラッシュ箇所のソースファイルを表示する場合は以下の手順を行う。
これで、クラッシュした箇所のソースが表示されるので、コールスタックウィンドウを開いて上位関数まで辿るといった解析を行うことができる。 |