C++ && CMake Debug VScode
C++ && CMake Debug VScode
vscode打开工程文件夹
注意:请勿打开多个总的工程
设置编译器路径
- 进入交互面板下(F1或者Ctrl+Shift+p), 输入c/c++选择
C/C++: Edit Configurations (UI)
- 采用默认即可,这里编译器我选了个g++, 也可以默认。这样完事之后,
.vscode
目录下,自动多一个c_cpp_properties.json
文件, 用于使用 vscode 自带的代码提示工具,支持代码跳转等, 在这里面进行配置如下:
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"compilerPath": "/usr/bin/g++",
"cStandard": "gnu17",
"cppStandard": "c++11",
"intelliSenseMode": "linux-gcc-x64"
}
],
"version": 4
}
配置一个 tasks.json 文件
- 进入交互面板,输入task
- 选择 tasks: Configure Default Build Task
- 选择 Create tasks.json file from template
- 选择 Others, 会在.vscode 下面自动创建 tasks.json,在编辑器中打开
- 进行如下配置
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Build with GCC", //<-----这个任务的名字在launch.json最后一项配置
"type": "shell",
"command": "g++",
"args": [
"-std=c++11",
// "-stdlib=libc++",
"-g",
// 生成调试信息,GUN可使用该参数
"${file}",
// file指正在打开的文件
"-o",
// 生成可执行文件
// "${fileDirname}/${fileBasenameNoExtension}"
"${fileDirname}/build/test-lo" //<-----指定需要调试的可执行文件
// fileDirname指正在打开的文件所在的文件夹
// fileBasenammeNoExtension指没有扩展名的文件,unix中可执行文件属于此类
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
配置 launch.json
- 使用 vscode 自带的 debug 工具(左侧的小虫图标)
- 点击生成launch.json文件
- 选择 LLDB
- 在.vscode 下自动生成 launch.json 文件, 写入以下配置
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug",
// "program": "${workspaceFolder}/${fileBasenameNoExtension}",
"program": "${workspaceFolder}/build/test-lo", //<-----自己配置cmake build 生成的可执行文件
"args": [],
"cwd": "${workspaceFolder}",
"preLaunchTask": "Build with GCC"
}
]
}
编译自己的cmake工程
mkdir build
cd build
cmake ..
make
打断点调试
注意:一定要切换到需要调试的源代码,然后再点击调试运行按钮(小绿色三角形按钮)