androidシステムのローカルコードのデバッグ


一、GDBをコンパイルする
まずはhttp://ftp.gnu.org/gnu/gdb/GDBのソースコードをダウンロードして/usr/src/に解凍します。
cd/usr/src/gdb-7.2./configure--target=arm-linux make make install
次のようなエラーが発生した場合:
configure:error:no termcap library found make[1]:*[configur-gdb]エラー1 make[1]:ディレクトリを残しています`。
ダウンロードしてlibncurses 5-devをインストールする必要があります。
ap-get install libncurses 5-devコマンドでインストールをダウンロードしてからmakeを実行すればいいです。
二、gdbserverをコンパイルしなくてもいいです。ソースコードprebuild/android-arm/gdbserverで直接入手できます。
三、gdbserverをシミュレータまたはマシンにコピーします。
adb push gdbserver  /dev/gdbserver adb shell chmod 777/dev/gdbserverに権限を与える。
四、TCPでADBを接続する。(設備に対して調整します。ADBバージョンは1.0.25を下回ってはいけません。)
私のUBUSNTU仮想マシンのIPは192.168.156です。デバイスIPは192.168.174です。
まず、ホストとデバイスが同じローカルネットワーク内にあることを保証し、かつpingを通じてIPアドレスを記録する。
adb root
adb tcpip 5554
adb connect 192.168.174:5554
五、運行gdbserveradb shell /dev/gdbserver 192.168.1.156:10000 --attach またはadb shell /dev/gdbserver 192.168.1.156:10000プロセス名
六、gdbを実行して、デバッグを行う(imx 51_BBGは製品名である)
arm-linux-gdb
(gdb)set solib-search-path out/target/product/imx51_BBG/symbols/system/lib:out/target/product/imx51_BBG/symbols/system/bin(gdb)target remote 192.168.102:10000
ようやくつながったが、具体的にはどうやって調整するかが大きな問題で、特にシステム内のダイナミックリンクライブラリです。