项目场景:
ROS编译报错
问题描述:
有的时候自己在ROS的框架下写代码会遇到如下的问题:
以前遇到这种问题基本上心里就觉得凉了,因为这种编译之后的运行报错不好定位位置,所以之前遇到这种问题都束手无策
原因分析:
楼主是在写一个文件读写时运行报的错误,因为提前有在VS里面提前写了一些程序,当楼主在VS运行的时候发现同样的代码在VS里运行同样也会报错,错误如下:
这个错误就很显然了,向量用的时候超出了索引的范围,这里就可以得到结论,在ROS中出现上述错误的原因,一般来说都是因为内存使用不当造成的,比如说数组、向量引用超出范围等等
解决方案:
debug的方法:
在不同的函数地方cout << “函数运行到某某位置了吗” << endl; 定位错误,然后解决就可以
careful~
PS:本文的目的主要是想说明这种错误出现的时候不要着急,如果是自己写的代码就不停的cout定位就好
PPS:如果是代码git下来编译运行报了这样的错误就很难找了
PPPS:如果有大佬知道更好的debug方法或者遇到这种错误时解决的方法欢迎大家评论区留言