1、教程
参考博客:
【ROS】 在VScode中 ROS Debug 配置方法非常详细版
关于launch文件的配置:
launch.json
yaml
{
"version": "0.2.0",
"configurations": [
{
"name": "ROS: Launch",
"request": "launch",
"target": "/home/larrydong/clins_ws/src/clins/launch/clins_offline.launch",
"launch": [
"rviz",
"gz"
],
"type": "ros",
"arguments": ["config_name:=/config/kaist.yaml"]
}
]
}
其中,launch
是roslaunch指令,arguments
是运行roslaunch时跟的参数。
原则上,安装了人ros插件后,创建这个launch文件,就可以用ros进行调试了。
2、遇到的问题:
断点无效
打了断点,但运行时是虚的,且vscode提示:
Module containing this breakpoint has not yet loaded or the breakpoint address could not be obtained
原因:catkin_make时不是debug模式,没有调试信息。虽然自己在catkin_make时加了 -DMAKE_BUILD_TYPE=Debug
,但ros包的CMakeLists.txt中这个被set成了release,所以没有生成。所以记看下CMakeLists
bash
set(CMAKE_BUILD_TYPE "DEBUG")
vscode在运行时总是跳转到anaconda虚拟环境
虽然在bashrc中禁用掉了anaconda的虚拟环境,但vscode还是会在调试时新开一个虚拟环境,然后进入虚拟环境。
解决办法:
在settings.json
中,设置不进入虚拟环境:
yaml
"python.terminal.activateEnvironment": false,
之后,启动时进入这个.vscode启动vscode,即进入xxx_ws
后,运行
bash
code .
(ROS插件,依赖python插件,因此无法通过禁用python解决这个问题 )
3、小结
真香。不需要反复print和编译耗时间了。