蟻ーヴェデルチ

覚悟はいいか?

gdbを使ったandroidとの遊び方

こんにちは、deusx'sキッチンの時間です。
androidと遊んでて、最近覚えたことをメモする。たぶんuserdebug(suとgdbserverが動けば、user buildでも可?)前提で、自分でビルドできる人用のメモだと思う。

adb forward tcp:5039 tcp:5039
adb shell gdbserver --attach :5039 TARGET_PID

開発環境に下記のtoolchainを入れてパスを通し、arm用のgdbを使えるようにする。
platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7 - Git at Google

arm-linux-androideabi-gdb SOURCE_PATH/out/target/product/hoge/symbols/system/bin/TARGET_BIN
(gdb) set solib-search-path SOURCE_PATH/out/target/product/hoge/symbols/system/bin:SOURCE_PATH/out/target/product/hoge/symbols/system/lib
(gdb) directory SOURCE_PATH
(gdb) target remote :5039
(gdb) continue

TARGET_PIDに自分の作成したapkのpidを指定して、TARGET_BINにapp_processを指定すると色々調べられる。ちなみにICSでしか確認していない。

参考文献

Android gdb debugging · keesj/gomo Wiki · GitHub