版权声明:本文为博主原创文章,未经博主允许不得转载。 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
}
]
}
]
}
断点可以正常命中了: