C层代码-远程调试android手机-gdbserver

本文详细介绍了如何使用gdbserver进行远程调试Android手机上的C层代码。首先,通过adb将gdbserver推送到手机并赋予执行权限。接着,在Makefile中设置APP_OPTIM为debug,确保编译选项包含-g。然后,将编译好的可执行程序复制到手机,启动gdbserver并指定端口号,通过adb forward建立连接。在两个不同的终端窗口中,一个运行gdbserver等待调试,另一个使用gdb连接并加载可执行文件开始调试。通过这种方法,可以成功地对Android设备上的C程序进行远程调试。
摘要由CSDN通过智能技术生成
  1. 所有调试借用的是 ndk里面自带的功能,gdbserver 和 gdb
  2. 首先我们的编译链里面会有个 程序叫 gdbserver
    使用gdbserver可以对目标设备上的程序进行远程调试
    所以我们需要将这个程序推到 手机里面
     
  3. 我运行的手机的目录是 /data/local/tmp
    使用adb将此程序推到手机中, adb push gdbserver /data/local/tmp/
    顺便赋权限 adb shell "chmod 777 /data/local/tmp/gdbserver "
     
  4. 编译Makefile中,Application.mk 中增加  APP_OPTIM := debug  将编译的程序设置成debug的,编译选项记得加-g, 不然没法调试
     
  5. 将编译好的可执行程序拷贝到手机中去,我的可执行程序名称为embeed
     adb push embeed  /data/local/tmp/
     adb shell "chmod 777 /data/local/tmp/embeed"
     
  6. 创建两个窗口,第一个窗口,
    输入命令:adb shell 进入手机
    输入命令:cd /data/local/tmp   进入运行目录
    启动 gdbserver, 并设定一个端口号,来和调试窗口绑定,并等待客户端连接,输入命令:./gdbserver :1238 embeed 
     
  7. 运行命令:adb forward tcp:1238 tcp:1238  此时开始等待中
    (ps: 这个端口号,你可以自己来任意设
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值