Android上gdb+gdbserver调试初体验


工作需要gdb+gdbserver调试Android程序,在网上查了一堆资料,有点乱,自己总结一下。


开发环境:

1. 开发机,MacBook Pro

2. 目标手机,Nexus 4 Android4.3.1


需要准备的东西:

1. gdbserver,我理解远程调试需要在目标机上有个类似调试服务器的东西来给gdb传送数据什么的,所以需要这个东西,在网上看的资料各种在线下载或者交叉编译什么的才能得到这个东西,其实不用那么麻烦,NDK里自带~,位置:$NDK_DIR/prebuild/android-arm/gdbserver

2. gdb,这个不用说了,也是NDK里自带,位置:$NDK_DIR/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-gdb,中间的路径根据自己情况更改。

需要注意的是gdbserver和gdb的版本要匹配,否则会出错。


准备步骤:

1. 先要在目标手机的/data目录下建一个目录bin,然后把gdbserver push到这个/data/bin/目录下,然后运行chmod 777 gdbserver增加执行权限。

2. 在目标手机上运行你要调试的APP,获取这个APP的进程号,比如是18440,然后在目标手机的命令行下执行./gdbserver :1234 --attach 18440

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值