native層のgdbデバッグ

926 views
Skip to first unread message

kobashin

unread,
Dec 16, 2009, 3:30:35 AM12/16/09
to Android-Embedded-Japan
いつもお世話になっております。
kobashinと申します。

beagleboard RevC3上のAndroidに、
ソースコードに付属のgdbserverを仕込みたいのですが、
どうも上手くいきません。
お力添えをお願い致します。

■環境
ソースコード  eclair
ターゲット    beagleboard RevC3
(Lan環境なし)
通信       USBを介してのgdb実行
         (beagleboard のUSB OTG側に接続)

■実行方法
1.android起動後、adb push gdbserver /data/
2.adb shell gdbserver /dev/usb2 /data/hello
(NDKにて、helloアプリを作成。)
3.export PATH=$PATH:/.../prebuilt/linux-x86/toolchain/arm-eabi-4.3.1/
bin
4.gdbclient hello /dev/usbdev2.52_ep00 /data/hello
  (USBデバイス名の確証がありません。。)

■エラーメッセージ
:ターゲット側(gdbserver)
Remote side has terminated connection. GDBserver will reopen the
connection.
Remote debugging using /dev/usb2
readchar: Got EOF
(上記内容が不定回数ループする)

:クライアント側(gdb)
error: cannot bind socket
[1] 24502
Usage: gdbserver COMM PROG [ARGS ...]
gdbserver COMM --attach PID [--close-fd FD]

COMM may either be a tty device (for serial debugging), or
HOST:PORT to listen for a TCP connection.

Exiting
[1]+ Done adb shell gdbserver $PORT --attach $PID
GNU gdb 6.6
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and
you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "--host=x86_64-unknown-linux-gnu --
target=arm-elf-linux"...
/home/android/common/mydroid1206/out/target/product/generic/
gdbclient.cmds:3: Error in sourced command file:
/dev/usbdev2.52_ep00: No such device or address.

多数の参考サイトを訪問してみたものの、起動には繋がりませんでした。
有力な情報をお持ちの方がおられましたら、ご教授のほどをお願い致します。

mizmit1222

unread,
Dec 20, 2009, 11:16:38 PM12/20/09
to Android-Embedded-Japan
みずのです。こんにちは。

NetWalkerのEclairで試してみました。NetWalkerは有線LANでしかつないでないので、
tcp経由です。

1) HostからEclairにnot strippedなtcpdumpを転送。
$ scp out/target/product/generic/obj/EXECUTABLES/tcpdump_intermediates/
LINKED/tcpdump \
netwalker:/android/eclair/system/xbin/tcpdump

2) adbでgdbserver起動
$ ADBHOST=netwalker adb shell \
gdbserver hostip:8899 /system/xbin/tcpdump

3) gdb起動
$ which arm-eabi-gdb
prebuilt/linux-x86/toolchain/arm-eabi-4.3.1/bin/arm-eabi-gdb

$ arm-eabi-gdb out/target/product/generic/obj/EXECUTABLES/
tcpdump_intermediates/LINKED/tcpdump
(gdb) target remote netwalker:8899
Remote debugging using debwalker:8899

(gdb) b main
(gdb) c
Breakpoint 1, main (argc=1, argv=0xbe895d84) at external/tcpdump/
tcpdump.c:476
476 gndo->ndo_Oflag=1;

以上、参考になれば幸いです。

kobashin

unread,
Dec 21, 2009, 7:34:28 PM12/21/09
to Android-Embedded-Japan
みずの様
kobashinです。こんにちわ。

返信が遅れまして、申し訳ありません。
わざわざ試していただいたみたいで、ありがとうございます。
当方の環境ではLanが繋げないので、残念ですが、
後々の参考にさせていただきます。

ありがとうございました。

mizmit1222

unread,
Dec 21, 2009, 8:21:55 PM12/21/09
to Android-Embedded-Japan
みずのです。こんにちは。

LAN環境がないと不便ではないでしょうか?大抵のUSBイーサネットドングルが
使えるので、デバッグ用にでもつないでみてはいかがでしょうか?

Beagleboardでは試したことはありませんが、cdc_etherモジュールを使えば、
USB経由でPCとのTCP接続が可能です。下記ブログが参考になると思います。
http://d.hatena.ne.jp/androidzaurus/20081127

ではでは。

末広 尚義 / H Suehiro

unread,
Dec 22, 2009, 12:47:58 AM12/22/09
to android-emb...@googlegroups.com
末広です。
はじめまして

USB接続の場合
adb forward tcp:5039 tcp:5039
としてやれば、端末のTCPポートへローカルマシンのTCPポートでアクセスできます。

やり方はLan接続の場合と同じになります。

http://www.noritsuna.com/archives/2009/09/android_ndk_1.html
に詳しく書いてあり参考にしました。


2009年12月22日10:21 mizmit1222 <mizmi...@gmail.com>:

> --
> ---------------------------------------------------------------------
> 日本Androidの会組み込みWG
> http://www.android-group.jp/index.php?%A5%EF%A1%BC%A5%AD%A5%F3%A5%B0%A5%B0%A5%EB%A1%BC%A5%D7%2F%C1%C8%A4%DF%B9%FE%A4%DF
>
> 日本Androidの会
> http://www.android-group.jp/
> ---------------------------------------------------------------------
> このグループに投稿するには、次の宛先にメールを送信してください。
> android-emb...@googlegroups.com
> このグループから退会するには、次へメールをお送りください。
> android-embedded-...@googlegroups.com
> その他のオプションについては、次の URL からグループにアクセスしてください。
> http://groups.google.co.jp/group/android-embedded-japan?hl=ja
> ---------------------------------------------------------------------
>

Reply all
Reply to author
Forward
0 new messages