Android gdb调试so

手机GDB调试方法:
前提: 1. 手机已经root
             2. 手机跟HOST机器能互相Ping通(可通过无线路由器连接)

步骤:
1. 编译加入 -O0选项,编译libxx.so
2. 在adb shell 环境执行:
   ps
找到要调试进程的pid,假设是5084,假设电脑IP是192.168.1.115,手机IP是192.168.1.116
执行
   gdbserver 192.168.1.115:5039 --attach 5084

3. HOST端执行:
adb forward tcp:5039 tcp:5039
/Android4.0Source/prebuilt/linux-x86/toolchain/arm-linux-androideabi-4.4.x/bin/arm-linux-androideabi-gdb /Android4.0Source/out/target/product/generic/symbols/system/bin/app_process 

4. (gdb)
set solib-absolute-prefix /Android4.0Source/out/target/product/generic/symbols
set solib-search-path /Android4.0Source/out/target/product/generic/symbols/system/lib

连接手机gdbserver:
target remote 192.168.1.116:5039

如果加载符号文件,尝试列出当前中断源码:
输入l
若显示以下类似内容,则可成功进行gdb调试了
5 ENTRY(epoll_wait)
6    .save   {r4, r7}
7    stmfd   sp!, {r4, r7}
8    ldr     r7, =__NR_epoll_wait
9    swi     #0
10    ldmfd   sp!, {r4, r7}
11    movs    r0, r0
12    bxpl    lr
13    b       __set_syscall_errno
14 END(epoll_wait)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值