一、gdbserver在android上远程调试进程
0.关闭Enforcing
# adb shell setenforce 0
1.拷贝gdb和gdbserver文件
<1>PC端为Client (Ubuntu Or Mac)
【1】gdb client for Ubuntu路径位置
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-gdb
【2】gdb client for Mac路径位置
prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.9/bin/arm-linux-androideabi-gdb
<2>Android arm平台gdbserver路径位置
prebuilts/misc/android-arm/gdbserver
<3>out/target/product/msm8996/symbols/system/bin/mediaserver
将带symbols的mediaserver拷贝出来,push到Board上
3.gdb与gdbserver远程调试步骤
PC ip:192.168.2.2
Board ip:192.168.2.3
<1>在Board上,把gdbserver push到Board上
# adb push gdbserver /system/bin
# adb shell ps | grep mediaserver
# adb shell gdbserver 192.168.2.2:1234 --attach 755
注意:gdbserver监听的是PC的ip和1234端口,attach mediaserver进程号
<2>在PC上
# gdb
(gdb) target remote 192.168.2.3:1234
注意:这时候gdb连上PC的ip和端口,开始debug.
二、gdb在android上远程调试so文件
把out/target/product/xxx/symbols/system/lib/hw/audio.so拷贝到被子上
# adb push audio.so system/lib/hw
1.在Board上
# adb shell
# gdbserver 10.100.27.2:1234 ./audio.so
2.在PC上
# gdb audio.so
# target remote 192.168.2.3:1234
# b main
# c
# l
# bt
Ubuntu和Mac使用gdbserver远程调试android源码(五)
于 2017-11-21 19:39:28 首次发布