基本流程:
在android prebuilt目录下,有gdb, gdbserver (arm)
1. 把gdbserver拷贝到虚拟机上
adb push gdbserver
2. 进入adb shell, 选择attach要调试的进程
gdbserver :5039 /system/bin/executable或者
gdbserver :5039 --attach pid
可以用ps命令查看进程ID
3. 在主机这边,
adb forward tcp:5039 tcp:5039
启动gdb
target remote :5039
set solib-absolute-prefix /<android root dir>/out/target/product/generic/symbols
set solib-search-path /<android root dir>/out/target/product/generic/symbols/system/lib
shared
break foo.c:foo_func
continue
http://www.kandroid.org/online-pdk/guide/debugging_gdb.html
就可以了,可见是多么的原始
有可能用DDD作为前段调用GDB,但我没有搞成,在单步执行的时候总是出现illegal instructions