按照本⽂的流程可在vscode平台上实现像在windows系统下VS调试C++程序的效果。
1. 调试配置
当写好代码和 CMakeLists.txt 之后,点击左侧 Run and Debug 按钮(⻓得像个⾍⼦),点击 create a launch.json file,创建⼀个 launch.json ⽂件。
这时会弹出上图中右测选项,点击第一个 C++(GDB/LLDB),此时,vscode 会⾃动创建⼀个 launch.json ⽂件,这个 launch.json ⽂件在⾃动创建的隐藏⽂件夹 .vscode 下。
launch.json 文件需要改动以下几个地方:
- program:输入需要执行的可执行文件名,及其路径,如:
${workspaceFolder}/a.out
- args:如果有添加命令行参数,在此处添加。
- externalConsole:如果是 true,每次按 F5 调试会⾃动弹出⼀个额外的终端,程序内容会在这个弹出的终端下运⾏和显⽰, 但是每次调试完了还要⼈⼯关闭。若是 false,程序会在vscode下⾯的界⾯运⾏和显⽰,推荐改为 false。
如:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "test", // 创建的这个target的名字
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/multi_dist_fus",
"args": ["--flagfile=../flagfile.txt"],
"stopAtEntry": false,
"cwd": "${workspaceFolder}/build",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
// "preLaunchTask": "C/C++: g++ build active file",
// "miDebuggerPath": "/usr/bin/gdb"
}
]
}
2. 修改编译模式
与一般程序编译方式不同,这里需要多添加一个搭建类型项,具体操作如下:
cmake .. -DCMAKE_BUILD_TYPE=Debug
接下来键入命令 make -j10
编译程序。
⼀切就绪之后,设好 debug 断点,即可使用。
更多有关调试的详细内容可见:
VSCode的C/C++扩展功能.