1 下载gdb源码编译
系统环境是32位的ubuntu系统。
下载网址http://ftp.gnu.org/gnu/gdb/, 下载完需要修稿MakeFile文件以生产静态link方可push到android中使用。具体是MakeFile文件的CFLAGS和CXXFLAGS后添加-static参数。
运行configure和make后,编译后gdb工具在gdb目录下,可以通过file gdb查看信息。
2 push
通过adb push将gdb工具push到/data/下
3 运行
直接运行gdb命令进入gdb命令行环境。注意运行gdb的时候当前目录必须是可写。
运行命令后设置lib path:(gdb) set solib-search-path /system/lib/:/system/lib/hw/:/system/lib/egl/
4 gdb使用
通过直接attach运行中的进程不能奏效,只能采取在运行时刻启动跟踪的方法。
a) 启动gdb
b) (gdb) Shell ps
i. 发现zygote的pid
c) (gdb)attach pid
d) (gdb) set follow-fork-mode child
e) (gdb) c
f) 启动进程
g) 关闭进程
h) 查看信息