首先安装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标签中添加参数