RTX5.5とWinDBG6.1によるRTSSプログラムのデバッグ 設

WinDBGによるRTX5.5デバッグ
WinDBG6によるRTX5.5デバッグ
232Cクロスケーブル
RTX5.5がインストールしてある
デバッグターゲットPC
RTX開発環境
WinDBG6.0
シンボル、ソースファイル
debugモードで起動
デバッグビルドの .rtss をコピーして実行させる
2004.Jan.08 T.Sato
1
WinDBGによるRTX5.5デバッグ
WinDBG(必須)とWindowsSymbol(任意)のダウンロード
(WinDBGはMSDNのDDKにも入っています)
• http://www.microsoft.com/whdc/ddk/debugging/default.mspx
2
WinDBGによるRTX5.5デバッグ
Symbolのインストール(任意)
RTXデバッグのみであれば不要
3
WinDBGによるRTX5.5デバッグ
デバッグ対象RTSSプログラムをデバッグビルド
• ソースコードに
_asm int 3; を入れ Debug build
• ビルドした.rtssをターゲットPCにコピー(場所はどこでも可)
RTXプロパティの設定(ターゲット側)
ターゲットのRTXプロパティ設定:
RTXコントロールパネルで
カーネルデバッガを選択
4
WinDBGによるRTX5.5デバッグ
Windbgの設定(ターゲット側)
ターゲットとホストをクロスケーブルで接続、同じCOMポート番号を使う
例)ターゲットCOM1 ホストCOM1
ターゲットのboot.ini に以下を追加
スペルミスに注意
/DEBUGPORT=COM1 /BAUDRATE=115200
例:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional DBG" /DEBUGPORT=COM1 /BAUDRATE=115200
5
WinDBGによるRTX5.5デバッグ
Windbgの設定
WinDBG の各ファイルパスを指定(例)
6
WinDBGによるRTX5.5デバッグ
Windbgの設定(具体例)
[Symbol file path]
プログラムのデバッグビルドで生成された.pdbが存在するパス(必須)
RTXのシンボルが存在するパス(必須)
Windowsのシンボルパス(必須ではないがWindowsアプリをデバッグする場合は必要)
C:\Program Files\Microsoft Visual
Studio\MyProjects\dbg_test\dbg_test___Win32_RTSS_Debug;
C:\Program Files\VenturCom\RTX SDK\symbols;
C:\WINDOWS\Symbols(またはインターネット上のデバッグシンボルを指定)
[Source file path]
デバッグするプログラムのソースファイルがあるパス
C:\Program Files\Microsoft Visual Studio\MyProjects\dbg_test
[Image file path]
デバッグするプログラムのデバッグビルドの実行ファイルがあるパス
C:\Program Files\Microsoft Visual
Studio\MyProjects\dbg_test\dbg_test___Win32_RTSS_Debug
7
WinDBGによるRTX5.5デバッグ
ターゲットとWinDBG接続
-WinDBGのファイルメニュー – カーネルデバッキングで通信速度を115200に設
定、Portを 1 に設定しOKボタンを押す
(COM1と入力せず、単純に 1 と入力する)この状態でWinDBGは
接続待ちの状態になっている
-ターゲットをデバッグモードで起動
-WinDBG側にはターゲットのブート状態が表示され、起動完了
ワークスペースを保存するかの問い合わせが出るが、通常はYes(2回)
-ここでターゲット側のデバッグ用アプリケーションを起動すると、最初のブレーク
ポイント _asm int 3で停止する。
この状態でブレークポイントが設定可能になる
-Gコマンドで再開
ブレークポイントの設定や解除、変数のWatchなどは普通のアプリのデバッグと
同様。
8
WinDBGによるRTX5.5デバッグ
Breakpointがヒットしたところは赤から色が変わる
WinDBG自体の詳細な使い方はDDKを参照して下さい。
市販の書籍で、Windows XP デバイスドライバプログラミング[入門と実践]
にもWinDBGの使い方が記載されています。
http://www.gihyo.co.jp/books/syoseki-contents.php/4-7741-1841-9
9