基本流程:
在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
本文介绍如何使用GDB和GDBServer进行Android应用程序的远程调试过程。首先需要将GDBServer拷贝到Android设备上,并通过ADB命令连接到指定的进程。随后配置主机上的GDB与设备建立连接,并设置符号文件路径。最后通过断点和单步执行等功能对应用进行调试。
5755

被折叠的 条评论
为什么被折叠?



