gdb调试arm:gdb-multiarch gdbserver coredump

ARM - PC 通过网络进行arm的gdb调试

碎念,gdb调试arm花去了断断续续几天的时间,网上虽然有很多文章,但都是基于一个英文文章翻译的,我按那篇文章操作,一直不成功,索性自己一点点试,终于试出点眉目

提示几个问题点

  1. 配置PC端的gdb的几个环境变量,这些环境变量的路径是PC的路径,我们要准备rootfs在PC上。这问问题很多文章里写了,但是没有强调,搞的人不知道环境变量路径是对应的PC的路径还是ARM的路径。
  2. 配置环境变量了,但是又配置的不够充分,有些库找不到。
  3. 找到了库,在调试过程中还会有调试到库的时候,没有debug信息,库没有debug信息会打印问号,这时我们是否需要进行处理。

前提假设

  1. PC系统是ubuntu,ip是192.168.2.202
  2. ARM系统是linux,ip是192.168.2.200
  3. ARM上安装了在PC上交叉编译的gdbserver,PC上安装了gdb-multiarch命令
  4. PC上保存有和ARM上同样的rootfs,PC上rootfs保存在本机 /home/tronlong目录下,名字为/home/tronlong/rootfs
  5. 待调试的程序名为kzx-xdl是在PC上交叉编译后的程序,gcc / g++ 编译时使用了-g选项

arm上执行

gdbserver 192.168.2.202:1234 ./kzx-xdl

ubuntu上执行

gdb-multiarch ./kzx-xdl     (可用sudo 也 可不用sudo)
 (gdb) set architecture arm
 (gdb) set sysroot /home/tronlong/rootfs
 (gdb) set solib-search-path /home/tronlong/ti-processor-sdk-linux-rt-am57xx-evm-04.03.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr/lib:/home/tronlong/rootfs/lib
 去除交叉编译工具链的库路径,改为:
 (gdb) set solib-search-path /home/tronlong/rootfs/lib:/home/tronlong/rootfs/usr/lib
 (gdb) set solib-absolute-prefix /home/tronlong/rootfs
 (gdb
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值