« 文庫エディター ver.0.4です | トップページ | 「姉☆孕みっくす2」をザウルスで »

2008年1月23日 (水)

リモートデバッグ環境の構築

いい加減、プリント文による原始的なデバッグに飽き飽きしてきたので、あれこれ調べて、リモートでのソースレベルデバッグができる環境を構築してみたので、とりあえずメモ。

開発環境
○CygwinでVista上に構築。

ザウルス用のGDBserver
こちらのLinux用パッケージ(arm-linux-gdb-6.3-i386-P1.tgz)から拝借。コマンドラインから起動する以上、置く場所はどこでもいいわけだが、実機へのファイル移動にSDカードを使っていることもあり、そのままSD上に配置。

Cygwin用のARM対応のGDBとInsight
たまたま買っといた「Interface」誌2007年12月号の付録DVD中のARM用開発環境パッケージから以下のファイルを拝借して、cygwin/binにコピーする。
・arm-elf-gdb.exe
・arm-elf-insight.exe

接続方法
○無線LANのアドホック接続
Vista側で優先的に接続するワイヤレスネットワークがある時には、指定を解除しておかないとトラブルの元。Vista側に問題があるようで時々突然切断される。が、Vistaだし、動いているだけでも良しとしよう。

コンパイル
○Makefileの修正
C++コンパイラのオプションの
「-O2 -DNO_DEBUG」を削除
「-O0 -g」を追加(ちなみに「オーオー」ではなく、「オーゼロ」です)
※2通り作って、片方コメントアウトして、使い分け。

デバッグ開始
ⅠPアドレスは、我が家では、
ザウルス :192.168.1.88
Vista:192.168.1.210
となっています。

○ザウルス側
0.無線LANを接続
1.夕ーミナルを起動
2.Γping 192.168.1.210」で通信ができることを確認
3.Γcd /mnt/card」でSDカードに移動
4.「./gdbserver 192.168.1.210:1000 デバッグ対象実行ファイル名」を実行
※Γ1000」は使用するポート番号。空いている番号なら何でもいいんですが、Vistaのファイアウォールで接続を許可しておくのを忘れないように。面倒なら、ファイアウォールを無効にしてもOK。

○Vista側
0.無線LANを接続
1.Cygwinを起動
2.「startx &」でxを起動
3.ターミナルが起動するので、デバッグしたいプログラムのあるデイレクトリに移動
4.Γarm-elf-insight デバッグ対象実行ファイル名」を実行
5.Insightが起動するので、最初にターゲットの指定をします。「File」メニューから「Target Setting...」を選ぶと、Target Selectionウィンドウが開きます。そこで、
Target:GDBserver/TCP
Hostname:192.168.1.88(ザウルスのIPアドレス)
Port:1000
と設定し、更に、右側にある以下の二つの項目にチェックが入っているのを確認し、OKをクリックします。
「Set breakpoint at ’main’」
「Set breakpoint at ’exit’」
6.左上の「Run」ボタン(人が走る姿のアイコン)をクリックするとデバッグ開始です。

Insightの使い方については、ググッて見るもよし、「インターフェース増刊 GDBを使った実践的デバッグ手法」を参考にするも良し、でしょう。私も初めて使うので、これから勉強です。(なにせボーランドの統合環境で育ったもので・・・)

でも、やっぱりソースレベルデバッガが使えると楽ですね。
あるバグの原因が、Qtの挙動が、リファレンスを読んで持ったイメージと違っていたせいなのが、あっさり分かりました。

|

« 文庫エディター ver.0.4です | トップページ | 「姉☆孕みっくす2」をザウルスで »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/139339/17791290

この記事へのトラックバック一覧です: リモートデバッグ環境の構築:

« 文庫エディター ver.0.4です | トップページ | 「姉☆孕みっくす2」をザウルスで »