板子内存不够可使用gdbserver+gdb+VSCode工具调试(平台基于rv1126)

本文介绍了如何使用VSCode进行远程调试ARM设备,包括安装gdb和gdbserver,创建launch.json配置文件,将gdbserver传送到开发板,并解决调试过程中遇到的问题,如Ubuntu缺少库和SSH访问权限。通过VSCode的gdb调试功能,可以查看程序段错误的堆栈信息,有效定位问题。
摘要由CSDN通过智能技术生成

准备arm格式的gdb及gdbserver工具

一般SDK或者交叉编译工具里都有,没有的话需要自己下载源码交叉编译

vscode创建launch.json文件并修改

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

修改配置文件

在这里插入图片描述

  1. 其中需要修改"program",这是我们需要调试的程序
  2. 其中,miDebuggerPath表示的是arm格式gdb的路径;miDebuggerServerAddress表示的是我们server端的地址,如:192.168.3.12为开发板的ip,9001为端口号,可自行设置,其范围为:065536,01023 的端口一般由系统分配给特定的服务程序

把gdbserver传到开发板上/usb/bin下

然后输入命令开始调试
在这里插入图片描述
gdbser命令格式 板端ip地址:端口 程序
注意:我们首先需要启动开发板上的gdbserver,pc端才能连接进行调试

vscode启动gdb调试

在这里插入图片描述
程序段错误可以在调用堆栈查看具体信息
在这里插入图片描述

  1. 其中红色为导致程序断开的堆栈
  2. 下面有对应哪个函数哪一行导致的程序重启

关于vscode运行gdb的一些报错

问题一

在这里插入图片描述

  1. 一开始由于ubuntu缺少gdb工具所需的各种库导致的运行失败,可以将所需库cp到 /lib/下或者添加环境变量后vscode重新加载窗口
  2. cp库的时候要注意,当你即使cp +了 -d so库还报红时,可通过ln -s自己重新创建一个软链接即可解决问题(记得使用绝对路径)
    在这里插入图片描述

问题二

在这里插入图片描述
这个问题后面我发现是因为我ssh配置问题,访问不了root导致,后面我把程序拷贝到家目录即可解决
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I&You

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值