在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 <<<