使用CLion调试ROS节点的正确方式/Clion如何调试ROS/调试ROS的方法

网上看了好多CLion调试ROS的教程,但是没一个能用的,自己摸索了好久才找到方法,所以记录了下来,原本这个是我记在Notion上的,现在搬运到CSDN上。

👉原文见此处

调试步骤

  1. 命令行终端启动clion

    之所以要在命令行启动而不是从图标启动,是因为如果点击图标的话,在 .bashrc.zshrc 中source的ROS环境无法生效,进而导致某些依赖库找不到

  2. 在打开项目中选择 <工作空间根目录的绝对路径>/src/CMakeLists.txt 以项目方式打开

  3. 打开设置,在CMake选项一栏加入以下内容

    -DCATKIN_DEVEL_PREFIX:PATH=<工作空间根目录的绝对路径>/devel -DCATKIN_BUILD_PREFIX:PATH=<工作空间根目录的绝对路径>/build
    构建目录一栏加入 <工作空间根目录的绝对路径>/build
    在这里插入图片描述

  4. 打上断点,调试运行看能不能命中断点,如果断点无法命中,那么在功能包CMakeLists.txt 下加入选项 set(CMAKE_BUILD_TYPE "Debug") 就行了

  5. 编译项目

    • 如果使用 catkin_make

      使用 caktin_make -DCMAKE_BUILD_TYPE=Debug 编译

    • 如果使用 catkin-tools

      编译前配置好CMAKE选项,运行 catkin config --cmake-args -DCMAKE_BUILD_TYPE=Debug

      然后使用 catkin build 编译即可

    注:

    推荐使用catkin build的方式编译,如果使用 catkin build 编译报错,可能是因为原来是用 catkin_make 编译的,把工作目录下的除了 src 以外的文件夹全都删了,再用 catkin build 重新编译就可以了

注意,调试ROS节点时需要预先启动 roscore

调试Tips

  1. 调试ROS节点时,需要加载参数怎么办?

    方法一:将参数配置到 .yaml 文件中,调试节点前预先使用 rosparam 命令将需要的参数加载即可,rosparam 的具体用法参考ROS官方网站

    方法二:将参数配置写到 .launch 文件中,使用 roslaunch 预先加载即可

  2. CLion只能调试一个节点,如果一个节点的运行依赖其它ROS节点怎么办?

    把其它节点及其参数配置写到 .launch 文件中,预先用 roslaunch 加载,用CLion单独调试需要调试的节点即可

  3. 找不到 CMakeLists.txt

    把文件夹打开找,肯定找得到的

  • 7
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值