项目场景:
ROS编译报错
问题描述:
有的时候自己在ROS的框架下写代码会遇到如下的问题:

以前遇到这种问题基本上心里就觉得凉了,因为这种编译之后的运行报错不好定位位置,所以之前遇到这种问题都束手无策
原因分析:
楼主是在写一个文件读写时运行报的错误,因为提前有在VS里面提前写了一些程序,当楼主在VS运行的时候发现同样的代码在VS里运行同样也会报错,错误如下:

这个错误就很显然了,向量用的时候超出了索引的范围,这里就可以得到结论,在ROS中出现上述错误的原因,一般来说都是因为内存使用不当造成的,比如说数组、向量引用超出范围等等
解决方案:
debug的方法:
在不同的函数地方cout << “函数运行到某某位置了吗” << endl; 定位错误,然后解决就可以
careful~
PS:本文的目的主要是想说明这种错误出现的时候不要着急,如果是自己写的代码就不停的cout定位就好
PPS:如果是代码git下来编译运行报了这样的错误就很难找了
PPPS:如果有大佬知道更好的debug方法或者遇到这种错误时解决的方法欢迎大家评论区留言

本文针对ROS框架下因内存使用不当导致的编译运行错误进行了分析,并提供了一种通过添加输出语句来定位并解决问题的调试方法。
5667

被折叠的 条评论
为什么被折叠?



