在ubuntu配置pcl点云库以及opencv库的时候,需要在CMakeLists.txt中加入相应的代码。配置完成后,无法调试,与在windows上体验vs studio差别有点大。
找了好多调试debug配置方法,最终能用的有几种,但是有一种特别好用,具体不清楚原理,但是不用配置含路径和库文件路径和文件,简直是让人惊叹。
有人配置c_cpp_properties.json,我没有配置,网上说是这个相当于
配置 ++IntelliSense++ 功能,我只配置了 tasks.json 和launch.json文件。
-
task.json
{
"version": "2.0.0",
"options": {
"cwd": "${workspaceFolder}/build"
},
"tasks": [
{
"type": "shell",
"label": "cmake",
"command": "cmake",
"args": [
".."
]
},
{
"label": "make",
"group": {
"kind": "build",
"isDefault": true
},
"command": "make",
"args": [] }, { "label": "Build", "dependsOrder": "sequence", // 按列出的顺序执行任务依赖项 "dependsOn":[ "cmake", "make" ] } ]
}
2.launch.json,其中program要换成自己的可执行文件
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "g++ - 生成和调试活动文件",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/devel/lib/litamin2/litamin2_align",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "Build",
"miDebuggerPath": "/usr/bin/gdb"
}
]
}
3.要在CMakeLists.txt中加入:
set(CMAKE_BUILD_TYPE "Debug")
并去掉优化选项(比如O3优化等),否则会乱跳。
4.调试
点击三角形+爬虫的 符号,进入调试,选择
选择这一个就可以开始编译+调试了。
在这里有一个技巧:如果事先在终端中cmake .. 和make之后,这里调试启动就特别快。
参考: