我有ROS节点,并在VS代码启动任务中调试它,如下所示:
{
"name": "(gdb) Launch ROS node",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/catkin_ws/devel/lib/my_ros_node/my_ros_node",
"args": [
<some cmd-line arguments>
],
"cwd": "${workspaceFolder}/build/catkin_ws/devel/lib/my_ros_node/",
"environment": [{"name": "LD_LIBRARY_PATH", "value": "${workspaceFolder}/build/lib/:/opt/ros/melodic/lib"} ],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
},一切正常。但有一段时间,我必须重新规划主题。最简单的方法是使用roslaunch。我为它写了启动文件:
<launch>
<remap from="topicA" to="topicB" />
<remap from="topicD" to="topicC" />
<node name="my_ros_node" pkg="my_ros_node" type="my_ros_node" args="<some args>"/>
</launch>我应该修正VS代码的发射目标。我无法了解VS代码启动目标ROS节点是如何通过ROS命令启动的。VS代码扩展对于ROS不起作用,可能是因为我的ros节点只是我工作空间的一小部分。
我只发现了一个解决方案:分别在ros上启动ros节点。在此之后,附加到VS代码中的过程。它工作得很好,但是请求授予根访问权限。
有比我的更简单的解决办法吗?
发布于 2022-11-15 12:41:09
签出vscode ROS扩展(ms-iot.vscode-ros):
https://marketplace.visualstudio.com/items?itemName=ms-iot.vscode-ros
这增加了对"type": "ros", "request": "launch"调试信任的支持,您可以在其中指定"target": "<path_to_your_launch_file>"。
https://stackoverflow.com/questions/66490866
复制相似问题