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