GDB调试Android Native

本文介绍如何使用GDB调试Android应用,包括启动gdbserver、设置远程调试端口、附加到运行进程及利用adb进行进程管理和调试连接。通过具体步骤和脚本示例,帮助读者掌握高效的Android应用调试方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

工欲善其事必先利其器;


调试二进制文件
简单说:
被调试端:
./gdbserver :1234 ./a.out
调试端:
adb forward tcp:1234 tcp:1234

gdb >target remote localhost :1234

附加进程调试

如果是附加进程就是

./gdbserver :1234 --attach $pid_of_app

game=com.163.tmd.mobile/com.163.tmd.mobile.main
adb shell "am start -n $game " 1>/dev/null 2>&1
gamepid=`adb shell ps | grep speed | awk 'NR=="1"{print $2}'`
echo "game:$game.PID:$gamepid"
adb forward tcp:1234 tcp:1234
adb forward tcp:12345 jdwp:12345
#adb shell
gdbpid=`adb shell ps | grep gdbserver |awk 'NR=="1"{print $2}'`
if [ ! -z "$gdbpid" ]; then
    echo "gdbserver is running:$gdbpid"
    echo "gdbpid :"$gdbpid ."kill it!"
    adb shell su -c "kill -9 $gdbpid"
else
    echo "gdbserver first running! :=)"
fi



adb shell su -c  "/data/local/tmp/gdbserver :1234 --attach $gamepid"

2018/9/27添加有一个脚本:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值