第 7 章 デバッグ
7.2 Debug Monitor
7.2.1 wddebug_gui ユーティリティ
wddebug_gui は Windows および Linux 用の Debug Monitor ユーティリティの完全なグラフィック (GUI) バージョンです。
1. 以下のいずれかの方法で Debug Monitor を起動します
WinDriver/util/wddebug_gui を起動します。
DriverWizard の [Tool] メニューから Debug Monitor を起動します。
Windows では、[スタート] メニューから [プログラム] - [WinDriver] - [Debug Monitor] を選択
して、Debug Monitor を起動します。
図 7.1: Debug Monitor の起動
2. [View] - [Debug Options] メニューを選択するか、ツールバーにある [Debug Options] ボタンをクリックし
て、[Debug Options] ダイアログ ボックスを表示し、Debug Monitor のステータス、トレース レベル、およ びデバッグするセクションを設定します。
図 7.2: Debug Options の設定
Status - トレースを [ON] または [OFF] にセットします。
Section - 監視する WinDriver API の一部を選択します。PCI カードの割り込み処理に問題 がある場合は、[Interrupts] と [PCI] チェック ボックスを選択してください。
USB デバイスのドライバをデバッグする場合は、[USB] ボックスを選択してください。
ヒント: 監視するオプションを選択するときは慎重に行ってください。必要以上にオプションを選択 すると、情報が多すぎて、問題を見つけるのが困難になります。
Level - 定義されたリソースから調査するメッセージ レベルを選択します。
Error を選択すると、トレースは最小限に表示されます。
Trace を選択すると、WinDriver カーネルのすべての操作が表示されます。
WinDriver のカーネル モジュールから受信したデバッグ メッセージを外部のカーネル デバッ
ガに送る場合、[Send debug messages to the operating system kernel debugger] チェックボック スを選択します。
注意: Windows Vista およびそれ以降の OS では、最初にこのオプションを有効にする際 に、PC を再起動する必要があります。
ヒント: 無償の Windows のカーネル デバッガーとして、WinDbg があります。WinDbg は WDK (Windows Driver Kit) および Debugging Tools for Windows package の一部として提供 され、Microsoft の Web サイトから入手できます。
3. トレースする部分とレベルを決定したら [OK] をクリックして [Debug Options] ダイアログボックスを閉じま す。
4. Debug Monitor のメニューとツールバーからオプションで追加の設定を作成することができます。
注意: OS のクラッシュやハングをデバッグする場合、File –> Toggle Auto-Save メニュー オプション (ま たツールバー アイコン) を設定して Debug Monitor ログを自動的に保存できます。さらに、OS のカー ネル デバッガーへデバッグ メッセージを送付することもできます。
5. デバッグするプログラムを実行 (ステップ実行など) します。
Edit –> Add Custom Message... メニュー オプション (またはツールバー アイコン) を使用して、カスタム メッセージをログに追加することができます。これはログで異なる実行セクションを区別するのに役立ち ます。
6. Debug Monitor (または設定した場合にはカーネル デバッガー ログ) に表示されるエラーや予期しない
メッセージを監視してください。
7.2.1.1 名前変更したドライバ用に wddebug_gui を起動するには
デフォルトでは、wddebug_gui は、WinDriver のカーネル モジュール (windrvr6.sys/.o/.ko) から のメッセージを出力しますが、wddebug_gui を使用して、以下のようにコマンド ラインで driver_name オプションを付けて、wddebug_gui を起動して、名前変更したドライバからのデバッグ メッセージも出力す ることができます (windrvr6 ドライバ モジュールの名前変更に関しては、セクション 15.2 を参照してください):
wddebug_gui <driver_name>
注 意: driver_name には、ファイルの拡張 子なしで ドライ バ ファ イル名を指定します。 たとえば、
windrvr6.sys (Windows の場合) や windrvr6.o (Linux の場合) ではなく windrvr6 を指定しま す。
たとえば、Windows でデフォルトの windrvr6.sys ドライバを my_driver.sys に名前を変更した場 合、以下のコマンドを使用して、Debug Monitor を起動して、ドライバからのログメッセージを出力できます:
wddebug_gui my_driver