Next: , Previous: EB29K Remote, Up: Remote


13.4.6 GDBとVxWorks

開発者は、 GDBを使用することによって、 ネットワークに接続されたVxWorks端末上のタスクを、 UNIXのホストから起動してデバッグすることができます。 VxWorksシェルから起動され、 既に実行中の状態のタスクをデバッグすることもできます。 GDBは、 UNIXホスト上で実行されるコードとVxWorksターゲット上で実行されるコードの両方を使います。 gdbは、 UNIXホスト上にインストールされて実行されます (ホスト上のプログラムをデバッグするのに使うGDBと区別するために、 vxgdbという名前でインストールされることもあります)。

VxWorks-timeout args
すべてのVxWorksベースのターゲットが、 vxworks-timeoutオプションをサポートするようになりました。 このオプションはユーザによってセットされるもので、 argsは、 GDBがRPCの応答を待つ秒数を表わします。 実際のVxWorksターゲットが速度の遅いソフトウェア・シミュレータであったり、 帯域の小さいネットワーク回線を介して遠距離にある場合などに使うとよいでしょう。

VxWorksとの接続に関する以下の情報は、 このマニュアルの作成時における最新の情報です。 新しくリリースされたVxWorksでは、 手順が変更されているかもしれません。

VxWorks上でGDBを使うためには、 VxWorksカーネルを再構築して、 VxWorksライブラリrdb.aの中のリモート・デバッグ用のインターフェイス・ルーチンを組み込む必要があります。 そのためには、 VxWorksのコンフィギュレーション・ファイルconfigAll.hの中でINCLUDE_RDBを定義して、 VxWorksカーネルを再構築します。 この結果として生成されるカーネルにはrdb.aが組み込まれ、 VxWorksの起動時にソース・デバッグ用のタスクtRdbTaskが起動されます。 VxWorksの構成や再構築に関する詳細については、 製造元のマニュアルを参照してください。

VxWorksシステム・イメージへのrdb.aの組み込みが終わり、 UNIXの実行ファイル・サーチ・パスにGDBの存在するパスを加えれば、 GDBを実行するための準備は完了です。 UNIXホストからgdb (インストールの方法によってはvxgdb) を実行します。

GDBが起動されて、 以下のプロンプトを表示します。

     (vxgdb)