ROS项目的GDB调试 |
您所在的位置:网站首页 › node断点下载 › ROS项目的GDB调试 |
首先安装gdb和xterm
sudo apt install xterm
Ubuntu系统一般默认自带gdb,通过 gdb -v 看看有没有输出,有版本输出则已安装,就不用再安装了 sudo apt install gdb 开启编译选项使用Debug调试,首先需要在程序编译时 加上debug选项,让cmake以debug模式编译,否则不会有gdb调试信息,无法查看源代码和设置断点等。 如果用命令行catkin_make,在输入catkin_make时加上一个参数: catkin_make -DCMAKE_BUILD_TYPE=Debug或者直接修改CMakelist.txt,添加以下代码: SET(CMAKE_BUILD_TYPE "Debug") SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb") SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall") 调试方法一种是调试coredump文件,另一种是在线调试。 大多使用在线调试,而在线调试又分为 roslaunch 调试和 rosrun node调试 launch文件中添加GDB调试指令修改ROS launch文件,在node标签中添加参数 launch-prefix="xterm -e gdb -ex run --args"例子: 运行如下: 运行效果: 直接使用 rosrun node 节点启动gdb的方式进行调试,发现出错的地方在 26 行,说明在此处可能有错误语法出现。 也可以直接运行可执行文件进行调试: gdb person_publisher指出错误的结果都是一样的。 更多参考。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |