ros plugin运行出现undefind symble的问题的定位方法

参考自n大橘为重n的博客

其实和普通的c++程序定位undefind symble的问题是一样的,如果之前使用过linux下的c++定位undefind symble的方法且没有成功,那么大概率本文方法也不能成功。

问题描述:

以costmap layer插件为例,当我们自己写的插件运行出现undefind symble报错时:
在这里插入图片描述

这个问题表明是符号未定义的问题,而且直接定位于我们生成的插件libgrid_layer.so中。
其实如果是自己写的程序,看到_ZN22simple_layer_namespace9GridLayer9matchSizeEv时便可以大致猜到出现问题的可能是simple_layer_namespace::GridLayer::matchSize()。

当然,我们还是按照正常的方式定位。

使用c++filt定位具体问题

$ c++filt _ZN22simple_layer_namespace9GridLayer9matchSizeEv

在这里插入图片描述

可以看到具体出现问题的就是这个matchSize()函数,然后就去查看其是否被实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值