vscode断点调试C++
时间: 2024-12-31 12:46:21 浏览: 10
### 配置 VSCode 进行 C++ 断点调试
#### 安装必要扩展
为了能够在 Visual Studio Code (VSCode) 中顺利进行 C++ 的开发与调试,需先安装一系列辅助工具和插件。这包括但不限于由 Microsoft 提供的官方支持包 `C/C++` 以及用于构建项目的 `CMake` 和其配套组件 `CMake Tools` [^1]。
#### 创建 launch.json 文件
当遇到诸如 "launch.json does not exist" 类型的警告信息时,意味着当前项目缺少启动配置文件。该文件定义了调试会话的各项参数,如使用的调试器类型、目标程序路径等重要选项。对于 C++ 开发者来说,通常需要创建一个名为 `.vscode/launch.json` 的 JSON 格式的配置文件来指定这些细节 [^2]。
#### 调整编译模式下的标志
为了避免可能出现的断点失效或位置偏移等问题,在编写 `CMakeLists.txt` 构建脚本时可以分别针对不同的编译模式(Debug 或 Release)设定特定的编译器标记。例如通过设置变量 `CMAKE_CXX_FLAGS_DEBUG` 来启用优化关闭及符号表保留等功能,从而确保生成的目标二进制文件适合于后续的源码级调试操作 [^3]。
#### 启动调试过程
完成上述准备工作之后,便可以在编辑器内直接右键单击某一行代码处添加断点了。随后按下 F5 键触发一次新的调试运行实例,此时如果一切正常的话,执行流将会暂停在所设的第一个有效断点上等待进一步指令 [^4]。
```json
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/debug/main.exe", // 替换成实际可执行文件的位置
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "cmake build debug"
}
]
}
```
阅读全文