文章目录
- 版本说明
- 扩展
- 配置文件
- 运行调试
这里给出自己摸索的最基本的调试方式,需要进阶调试感觉还是需要一定的学习成本的,尝试了几个网上的博客,暂时没遇到直接可以运行的。所以这里记录一下大概方法。
主要是需要在目录文件下配置两个 json 文件(tasks.json,launch.json)
版本说明
VS code 版本是在官网直接下载的 M1 版本的 February 2021 (version 1.54)
官方下载
扩展
主要是要下载 codeLLDB 的下载,直接在 VS code 里面搜索下载就好了(可能需要从网上下载 VSIX,不过 VS code 会有提示)
配置文件
首先需要有一个文件目录 demo:
选中我们需要调试的文件 test.cpp
,然后按 F1,打开设置选项,选择 Tasks:Configure Default Build Task
,根据需要选择对应的编译器,这里选择 clang++:
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: clang++ 生成活动文件",
"command": "/usr/bin/clang++",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "编译器: /usr/bin/clang++"
}
]
}
然后 选择左边第三个调试选项
,再选择create a launch.json file
:
然后要选择 LLDB
选项,这个才是我们下载的 codeLLDB 插件,VS code 会自动创建一个 launch.json
:
{
// 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": [
{
"type": "lldb",
"request": "launch",
"name": "Debug",
"program": "${workspaceFolder}/<your program>",
"args": [],
"cwd": "${workspaceFolder}"
}
]
}
这里需要稍作修改,将 “program” 选项修改成与 tasks.json
的文件名一致,然后还需要加一个 preLaunchTask
的选项,将 tasks.json
的 label 名字粘贴过来,修改以后launch.json
内容如下:
{
// 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": [
{
"type": "lldb",
"request": "launch",
"name": "Debug",
"program": "${workspaceFolder}/${fileBasenameNoExtension}",
"args": [],
"cwd": "${workspaceFolder}",
"preLaunchTask": "C/C++: clang++ 生成活动文件"
}
]
}
运行调试
上述配置完成以后,编译项目(shift+command+B),在代码中设置断点,然后直接点击 F5,就可以正常断点运行调试了。