使用场景:
- 板端可用内存太小,不足以使用gdb。
- 设备不方便搭建或连接网络。如果可以直接通过网络访问,那就没必要通过adb做数据转发。
- 内存够用,但板端是不带符号版本,并且不想在板端搭建dbg环境。
- 由于种种环境使用限制,无法在Linux pc中进行调试,只能使用windows连接调试。
好处:
- 无需连接网络,适用于无网络设备或者不方便使用网络设备,直接通过adb连接实现
- 通过pc端使用带符号版本,便于调试
- 给小内存设备调试多一种办法
使用步骤:
#在设备中使用gdbserver
gdbserver :6000 --attach 21002 #6000为本地端口号,21002为进程号
#在adb命令行中
adb forward tcp:6000 tcp:6000 #6000端口通过adb进行数据转发
#将设备中使用到的相关文件拷贝到D:\sysroot\中,也可以将带符号的版本放入sysroot文件夹中,但要确保版本是相同的
adb pull /sysroot D:\
#pc上使用gdb
gdb -q
gdb中输入 set sysroot D:
gdb中输入 target remote :6000
#然后就可以像正常使用gdb一样操作了
windows上gdb可下载链接 https://download.csdn.net/download/xiong2015job/87793209