販売終了のお知らせ

SUZAKU シリーズ販売終了のお知らせ > 詳細情報


Howto : gdbserverによるリモートデバッグ(SUZAKU-S)

該当製品:
SZ010-U00
SZ030-U00
SZ130-SIL
SZ130-U00
gdbserver を使うことで、SUZAKUのユーザアプリケーションをリモートデバッグすることができます。 以下に、SUZAKU-S上で gdbserverを利用するための手順と、簡単な使い方を説明します。必要なパッチは、1番下の「参照」から取得してください。

動作環境

  • SUZAKU-Sシリーズ
  • ディストリビューション: uClinux-dist-20051110-suzaku2 以降

gdbserver のビルド

パッチファイルは、このページの一番下の「参照」から取得できます。 1. gdbserver パッチをあてる (uClinux-dist-20051110-suzaku2のみ)

[PC ~]$ tar xzf uClinux-dist-20051110-suzaku2.tar.gz
[PC ~]$ cd uClinux-dist-20051110-suzaku2
[PC ~/uClinux-dist-20051110-suzaku2]$ tar xzf threaded-gdbserver-update.tar.gz
2. 割り込みベクタの変更パッチをあてる (uClinux-dist-20051110-suzaku2のみ)

[PC ~/uClinux-dist-20051110-suzaku2]$ patch -p1 < modify-intv.S-for_SS.patch
3. gdbserver の選択 make menuconfig 等で、gdbserver を選択します。

Kernel/Library/Defaults Selection  --->
[*] Customize Vendor/User Settings

Miscellaneous Applications  --->
[ ] gdbreplay
[*] gdbserver
[ ] gdbreplay (old)
[ ] gdbserver (old)
4. ビルド

[PC ~/uClinux-dist-20051110-suzaku2]$ make dep all

リモートデバッグ

gdbserver を使った簡単なデバッグ方法を説明します。 詳しくは、gdb のマニュアル等を参照して下さい。 デバッグには、GUIツール、コマンドラインによる方法の2通りが選択できます。 以降の説明例では、次に示す環境および表現を用います。適宜、読みかえて下さい。
  • ホスト側
    • プロンプト: [PC ]$
    • IPアドレス: 192.168.1.1
  • ターゲット側
    • プロンプト: [SUZAKU ]#
    • IPアドレス: 192.168.1.100
  • その他
    • アプリケーション名: hello
    • 使用するポート番号: 1234
    • gdbのコマンドプロンプト: (gdb)
なお、ユーザアプリケーションをコンパイルする際、最適化オプション(-O)を無効にすることをお勧めします。 最適化を無効にするには、uClinux-distを使用している場合、 Makefile の上部に以下の指定を追加します。

CFLAGS += -O0

GUIツールによるデバッグ

  1. SUZAKU上で、gdbserverを起動
    
    [SUZAKU ]# gdbserver 192.168.1.1:1234 /bin/hello
    Process /bin/hello created; pid = 53
    Listening on port 1234
    
  2. ホストPCで gdb を起動
    
    [PC ]$ mb-uclinux-gdb hello.gdb
    
  3. 接続設定 gdbが起動したら、GDB起動ウインドウが現れます。 メインメニューから[File]->[Target Settings]を選択し、接続設定を行います。
    • Connection
      Target:Remote/TCP : XMD
      Hostname:192.168.1.100
      Port:1234
    • 「Set breakpoint at 'main'」をチェック
    • Fewer Options
      • 「Attach to Target」をチェック
      • 「Continue from Last Stop」をチェック
  4. 実行 Run アイコン(左端)を押します。または、メインメニューの[Run]->[Run]を選択します。

コマンドラインによるデバッグ

  1. SUZAKU上で、gdbserverを起動 GUIツールによるデバッグと同じです。
  2. ホストPCで gdb を起動
    
    [PC ]$ mb-uclinux-gdb -nw hello.gdb
    
  3. gdbserver と接続
    
    (gdb) target remoto 192.168.1.100:1234
    
  4. ブレークポイントの設定 main関数にブレークポイントを設定する例を示します。
    
    (gdb) break main
    
  5. 実行 ステップ実行の例を示します。
    
    (gdb) step
    

参照

カテゴリ: