Transcript
Page 1: WinDBG6 による RTX5.5 デバッグ

WinDBGによるRTX5.5デバッグ

1

WinDBG6による RTX5.5デバッグ

2004.Jan.08  T.Sato

     debugdebug モードで起動  モードで起動  デバッグビルドの デバッグビルドの  .rtss.rtss  をコピーして実行 をコピーして実行させるさせる

232C232C クロスケーブクロスケーブルル

RTXRTX開発環境開発環境WinDBG6.0WinDBG6.0シンボル、ソースファイシンボル、ソースファイルル

RTX5.5がインストールしてあるデバッグターゲット PC

Page 2: WinDBG6 による RTX5.5 デバッグ

WinDBGによるRTX5.5デバッグ

2

WinDBG (必須)と WindowsSymbol (任意)のダウンロード

(WinDBG は MSDN の DDK にも入っています )

• http://www.microsoft.com/whdc/ddk/debugging/default.mspx

Page 3: WinDBG6 による RTX5.5 デバッグ

WinDBGによるRTX5.5デバッグ

3

Symbolのインストール(任意)RTXデバッグのみであれば不要

Page 4: WinDBG6 による RTX5.5 デバッグ

WinDBGによるRTX5.5デバッグ

4

デバッグ対象 RTSSプログラムをデバッグビルド

• ソースコードに _asm int 3;  を入れ  Debug build• ビルドした .rtss をターゲット PC にコピー(場所はどこでも可)

ターゲットの RTXプロパティ設定:RTXコントロールパネルでカーネルデバッガを選択

RTXプロパティの設定(ターゲット側)

Page 5: WinDBG6 による RTX5.5 デバッグ

WinDBGによるRTX5.5デバッグ

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

Page 6: WinDBG6 による RTX5.5 デバッグ

WinDBGによるRTX5.5デバッグ

6

Windbg の設定WinDBG  の各ファイルパスを指定(例)

Page 7: WinDBG6 による RTX5.5 デバッグ

WinDBGによるRTX5.5デバッグ

7

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_D

ebug

Page 8: WinDBG6 による RTX5.5 デバッグ

WinDBGによるRTX5.5デバッグ

8

ターゲットとWinDBG接続-WinDBG のファイルメニュー – カーネルデバッキングで通信速度を 115

200 に設定、 Port を  1 に設定し OK ボタンを押す  ( COM1 と入力せず、単純に  1 と入力する)この状態で WinDBG

は  接続待ちの状態になっている- ターゲットをデバッグモードで起動-WinDBG 側にはターゲットのブート状態が表示され、起動完了 ワークスペースを保存するかの問い合わせが出るが、通常は Yes ( 2

回)- ここでターゲット側のデバッグ用アプリケーションを起動すると、最初

のブレークポイント  _asm int 3 で停止する。 この状態でブレークポイントが設定可能になる-G コマンドで再開ブレークポイントの設定や解除、変数の Watch などは普通のアプリのデ

バッグと同様。

Page 9: WinDBG6 による RTX5.5 デバッグ

WinDBGによるRTX5.5デバッグ

9

Breakpointがヒットしたところは赤から色が変わる

WinDBG 自体の詳細な使い方は DDK を参照して下さい。市販の書籍で、 Windows XP デバイスドライバプログラミング[入門と実践]にも WinDBG の使い方が記載されています。http://www.gihyo.co.jp/books/syoseki-contents.php/4-7741-1841-9


Recommended