ROS程序调试

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/daybreak222/article/details/82700329

最近在用VS Code进行ROS开发,但是一直遇到打了断点但是不能正常命中的问题

今天学习了一下才知道是没有在CMakeLists.txt中加入调试信息

将下面两行加入到CMakeLists.txt中,

set (CMAKE_CXX_FLAGS  "${CMAKE_CXX_FLAGS}  -g ")
set (CMAKE_VERBOSE_MAKEFILE ON)

再编译出来的程序就可以用GDB调试了!

下面是launch.json的内容,只要改好program这一行就可以了。

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "/home/think33/catkin_ws/devel/lib/racecarDepth/depth",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

断点可以正常命中了:

猜你喜欢

转载自blog.csdn.net/daybreak222/article/details/82700329