ORB-SLAM3运行时调试方法与常见问题-----Clion端

相信大家在学习SLAM时都会参考一些开源的框架,这样就绕不开ORB-SLAM3的基础框架,因为这个框架集成了许多外设,可以很好的运用到实际中。同时,很多的改进很可以在此基础上进行。

阅读源码也是必不可少的一步,结合在线调试的方法。如何正确的调试也是后期改进代码的强大工具。下面将列举我学习遇到的一些常见的基础问题。
问题一:命令行参数的输入问题

源代码是用命令行的形式进行运行的,但如果是在命令行的话,不利于我们阅读源码。特别是追一些变量时,传统的文本编辑器不能很好的提示,且没有高亮显示。
以kitti数据集的方式举例:

Examples/Stereo/stereo_kitti Vocabulary/ORBvoc.txt Examples/Stereo/KITTI04-12.yaml /media/xulei/新加卷/Kitti00-10/04

注意这里是相对项目的路径,如果在Clion运行,我们需要指定参数行:

 这里需转为绝对路进,不然系统不能找到数据集与.ymal文件等配置文件,同时不需要给出可执行文件(在编译器中以及指定了),会出现程序报错:

Usage: ./stereo_kitti path_to_vocabulary path_to_settings path_to_sequence

 问题二:调试数据过大,导致在调试时不能解析并可视化

报错提示为:

Error occurred in Python: value of type ORB_SLAM3::Tracking' requires 450624 bytes, which is more than max-value-size在clion

要在 CLion 中解决 "value of type ORB_SLAM3::Tracking requires 450624 bytes, which is more than max-value-size" 的问题,可以通过 修改 GDB 配置 解除 max-value-size 限制。
打开命令行:输入

gdb

输入

set max-value-size unlimited

可以看到项目调试所需的数据缓存大小不足:
 

sudo vim /etc/gdb/gdbinit

添加

set max-value-size 500000

:wq保存退出

重新查询:

重启编译器,再次编译,并debug就可以显示类的相关信息了:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

XU磊260

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

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

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

打赏作者

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

抵扣说明:

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

余额充值