gdb调试android的webkit

其实Android下调试Android的native代码的文章网上也有不少描述,第一次成功使用GDB调试WebKit的流程如下:
1. 调试已运行的browser (#)
adb shell ps | grep browser
gdbserver :5039 --attach pid
或启动一个新的browser
gdbserver :5039 browser

2. 用ADB设置转发端口($)
adb forward tcp:5039 tcp:5039

3. 启动gdb client(gdb)
arm-eabi-gdb /home/apuser/android/2.3.5_8810/out/target/product/hsdroid/symbols/system/bin/app_process
4. 设置符号表(gdb)
set solib-absolute-prefix /home/apuser/android/2.3.5_8810/out/target/product/hsdroid/symbols
set solib-search-path /home/apuser/android/2.3.5_8810/out/target/product/hsdroid/symbols/system/lib
5. 与GDB server连接(gdb)
target remote :5039 
6.确认动态库是否加载进来(gdb)
shared 

其实Android早为我们写好了脚本,使用下面一条命令就可以完成以上的多条命令的功能,而且还不用启动多个shell窗口:
gdbclient app_process  :5039  browser

gdbclient是一个shell脚本的函数,见build/envsetup.sh,当然上面这些命令可以正常执行的前提条件是你已经运行了
source ./build/envsetup.sh
lunch 7
【注意】lunch 后面的数字要看你是编译的哪该产品了。
这个里面需要注意的是app_process这个进程名,刚开始一位做davilk虚拟机同事帮忙一起弄gdb调试的环境,但由于不知到webkit的依附于哪个系统进程
而费了不少周折,由于gdb只能调试本地系统,所以需要找到是webkit是运行在哪个本地进程里,而不是虚拟机的进程。android大部分应用都是运行在app_process
进程里的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值