成功解决Clion调试orb_slam3崩溃的问题

最近用clion调试Orb_slam3,编译通过后,点击运行,总是在orb3中,pangolin的Viewer可视化界面跳出的一瞬间,程序奔溃,报这个错误,

terminate called after throwing an instance of 'std::bad_alloc'   what():  std::bad_alloc

没办法超出我的认知范围,最后只能用终端命令行运行ORB_slam3。

最近实在是被不能断点调试所折磨,尝试用VScode调试,结果却在断点的地方不停止。搜索原因是发现vscode需要手动设置Cmake编译模式为Debug,虽然我尝试了之后还是不行。突然想到,是不是build.sh脚本文件中的三个依赖包DBoW2、g2o、Sophus没有设置Debug模式,然后我把build.sh文件中的

cmake .. -DCMAKE_BUILD_TYPE=Release

全都改为

cmake .. -DCMAKE_BUILD_TYPE=Debug

运行一遍build.sh之后,再用clion编译orbslam3并运行调试,大功告成!

你可能感兴趣的:(c++,linux,vscode)