vscode 如何断点调试ros1工程

时间:2024-04-25 20:25:44

在vscode中断点调试ros1工程主要分为以下几步:

1. 第一步就是修改cmakelist.txt,到调试模式。
将CMAKE_BUILD_TYPE原来对应的代码注释掉,原来的一般都不是调试模式。加上下面一行代码,意思是设置调试模式。

# 断点调试
SET(CMAKE_BUILD_TYPE "RelWithDebInfo")

然后打开终端进行编译。
在这里插入图片描述

最后在终端中先source 当前环境,再打开vscode。

在这里插入图片描述

2. 首先要安装扩展:
ROS,c/c++ ,Txt Syntax,Msg Language Support,16:28ROS Package Variable,一项项安装好即可。
在这里插入图片描述

3. 其次生成tasks.ison文件。
快捷键ctrl+shift+P, 弹出如下界面:
在这里插入图片描述

选择Tasks:Configure Task,弹出如下界面,再选择使用模版创建tasks.json 文件

在这里插入图片描述点击回车就会生成对应的json文件,如下图所示:
在这里插入图片描述

4. 生成launch.json文件
点击运行和调试按钮,如图中亮色的三角图标,
在这里插入图片描述再点击创建launch.json,弹出如下界面,若不出现下面的选项,说明扩展还没有装好。
在这里插入图片描述
选择ROS,弹出如下界面在这里插入图片描述
再选择ROS:Launch,弹出如下界面:

在这里插入图片描述在搜索框内输入功能包名字liorf,选择liorf
在这里插入图片描述弹出如下界面,选择要启动的 launch 文件,这里选择run_beidou_six.launch
在这里插入图片描述最后就会生成对应的launch.json文件
在这里插入图片描述5.启动调试模式,点击图中绿色的按钮
在这里插入图片描述弹出如下界面
在这里插入图片描述调试控制台这里有信息输出,并且在界面顶端出现单步调试的按钮,接下来播放数据包就可以进行单步调试:发现顶端的调试按钮变亮,即为可调试状态,可以再添加断点进行调试。
在这里插入图片描述注意:若电脑中同时安装了ros1和ros2要把 .bashrc中的注释掉。

# >>> fishros initialize >>>
# echo "ros:galactic(1) noetic(2) ?"
# read choose
# case $choose in
# 1) source  /opt/ros/galactic/setup.bash&&export ROS_DOMAIN_ID=30;;
# 2) source  /opt/ros/noetic/setup.bash;;
# esac
# <<< fishros initialize <<<