使用gdbserver + adb转发 + gdb在windows中调试

当设备内存不足无法运行gdb且不方便联网时,可以使用gdbserver结合adb在Windows上进行远程调试。步骤包括在设备上启动gdbserver,adb端口转发,将设备文件拷贝到Windows的sysroot目录,然后在PC的gdb中设置sysroot和远程目标。这种方法为小内存设备调试提供了一种解决方案。

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

使用场景:

  • 板端可用内存太小,不足以使用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值