使用gdbserver可以对不同平台的设备源码进行调试,记录下在android系统下调试C++程序的方法
-
在要调试的目标设备启动gdbserver:
gdbserver :9555 --attach PID(或者在本机 adb shell
gdbserver :9555 --attach PID
)此时gdbserver监听端口号9555,并等待客户端连接。
-
如果使用adb与目标设备进行连接,需要在我们主机上执行:
adb forward tcp:9555 tcp:9555
3.在host端,比我们的PC上面,运行gdb:如果目标设备已经连接网络,则可省略此步。
然后设定 target remote :9555
$ gdb
(gdb) target remote :9555
Remote debugging using :9555
然后就可以对目标设备的程序进行debug了
注意事项
一定要保证gdbserver和gdb配置的架构是一致的。本人使用的gdb和gdbserver是NDK下部署的,省去了编译的麻烦。