RK1126编译gdb 板子上gdb调试程序

本文档详细记录了在嵌入式板子上编译和安装GDB的过程,由于板子不自带GDB,需要手动下载并解决编译时遇到的C++11支持问题。作者首先尝试了GDB 9.2版本但因缺少C++11支持而失败,随后选择了7.11版本。在编译过程中遇到了重定义错误、结构体未定义等错误,通过修改源码和引入头文件解决了问题。在完成编译后,由于缺少`textinfo`依赖,安装后进行了`make install`。最终成功将GDB部署到板子上,并能够正常使用进行调试。

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

嵌入式板子上都没有gdb程序 需要自己下载编译 

首先去下载一个gdb  高版本的需要c++11支持,rk1126虽然说支持c++11 但是支持的并不是很好 

 

 

刚开始下了个9.2的版本 编译的时候就是说找不到C++11的支持 ,后来又下了个7.11的版本如下图

https://ftp.gnu.org/gnu/gdb/

下载压缩包解压之后 必须得新建一个build目录  然后再build目录里面编写一个脚本

build.sh 内容如下:

 执行这个脚本之后会生成一个makefile 

中间会报很多命令没有 如下 这个没有关系  嵌入式的很多东西都没有

 

然后make 下 

会报好几个错误 

 

1. ps_get_thread_area 重定义

打开对应文件 注释掉就可以  

 

之后是 有个结构体未定义

引入对应的头文件gregset.h即可 

 接下来还有个错误

 同理还是注释掉

 之后编译没报错了 

make install 提示出错

 安装textinfo

sudo apt install texinfo

之后 就make install成功了 

将gdb拷到板子上加上权限 运行即可  

然后程序挂掉就可以调用bt查看堆栈了  

 

harry@ubuntu:~$ find / -name "arm-linux-gnueabihf-gdb" 2>/dev/null /opt/rv1126_rv1109_v2.2.0_20210825/buildroot/output/rockchip_rv1126_rv1109_recovery/host/bin/arm-linux-gnueabihf-gdb /opt/rv1126_rv1109_v2.2.0_20210825/buildroot/output/rockchip_rv1126_rv1109/host/bin/arm-linux-gnueabihf-gdb /opt/rv1126_rv1109_v2.2.0_20210825/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gdb /opt/rv1126_rv1109_v2.2.0_20210825/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gdb /opt/rv1126_rv1109_linux_sdk_v1.8.0_20210224/buildroot/output/rockchip_rv1126_rv1109_spi_nand/host/bin/arm-linux-gnueabihf-gdb /opt/rv1126_rv1109_linux_sdk_v1.8.0_20210224/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gdb /opt/rv1126_rv1109_linux_sdk_v1.8.0_20210224/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gdb /opt/RV1126_RV1109_LINUX_SDK_V2.1.0_20210512/buildroot/output/rockchip_rv1126_rv1109_recovery/host/bin/arm-linux-gnueabihf-gdb /opt/RV1126_RV1109_LINUX_SDK_V2.1.0_20210512/buildroot/output/rockchip_rv1126_rv1109_spi_nand/host/bin/arm-linux-gnueabihf-gdb /opt/RV1126_RV1109_LINUX_SDK_V2.1.0_20210512/buildroot/output/rockchip_rv1126_rv1109/host/bin/arm-linux-gnueabihf-gdb /opt/RV1126_RV1109_LINUX_SDK_V2.1.0_20210512/buildroot/output/rockchip_rv1126_rv1109_spi_nand_recovery/host/bin/arm-linux-gnueabihf-gdb /opt/RV1126_RV1109_LINUX_SDK_V2.1.0_20210512/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gdb /opt/RV1126_RV1109_LINUX_SDK_V2.1.0_20210512/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gdb harry@ubuntu:~$ 有这么多,复制哪个到板子
最新发布
06-19
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

QMCY_jason

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

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

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

打赏作者

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

抵扣说明:

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

余额充值