【发布时间】:2022-01-14 12:23:38
【问题描述】:
我想在 ROS 调试会话开始之前将 /home/sanya/work/ORB_SLAM3/Examples/ROS 添加到 ROS_PACKAGE_PATH 变量中。如果没有添加,调试器将不会启动,因为它找不到包。
我想在 ROS 调试开始之前导出变量。
我已经尝试过的:
我尝试以两种不同的方式将其作为环境变量添加到 launch.json 中:
第一种方式:
{
"name": "ROS: Launch + build (release)",
"type": "ros",
"request": "launch",
"target": "/home/sanya/work/ORB_SLAM3/Examples/ROS/ORB_SLAM3/launch/ORB_SLAM3_bag.launch",
"env": {"ROS_PACKAGE_PATH": "/opt/ros/melodic/share:/home/sanya/work/ORB_SLAM3/Examples/ROS"}
}
第二种方式:
{
"name": "ROS: Launch + build (release)",
"type": "ros",
"request": "launch",
"target": "/home/sanya/work/ORB_SLAM3/Examples/ROS/ORB_SLAM3/launch/ORB_SLAM3_bag.launch",
"environment": [{"name": "ROS_PACKAGE_PATH", "value": "/opt/ros/melodic/share:/home/sanya/work/ORB_SLAM3/Examples/ROS"}]
}
我尝试将其添加到.env 文件中,并在launch.json 中设置envFile 属性:
.env文件:
ROS_PACKAGE_PATH=/opt/ros/melodic/share:/home/sanya/work/ORB_SLAM3/Examples/ROS
launch.json文件:
{
"name": "ROS: Launch + build (release)",
"type": "ros",
"request": "launch",
"target": "/home/sanya/work/ORB_SLAM3/Examples/ROS/ORB_SLAM3/launch/ORB_SLAM3_bag.launch",
"envFile": "${workspaceFolder}/.env"
}
我尝试添加prelaunchTask:
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/sanya/work/ORB_SLAM3_multi/Examples/ROS
此选项有效——export 发生(我在检查后运行echo $ROS_PACKAGE_PATH)——但调试会话在不同的终端开始(如果我理解正确的话)并且变量不会设置为正确的值在调试会话中。
唯一有效的方法是将其添加到.bashrc 文件中。这对我来说不太好,因为我有同一个库的修改版本,我想同时使用它们(我会将修改后的版本与原始版本进行基准测试),我不想修改 @ 987654337@文件每次切换2个版本时。
还有其他选项可以将变量导出到 VSCode 调试环境吗?
【问题讨论】:
标签: debugging visual-studio-code ros