ZBLOG

linux 下 vscode 怎么调试c++ 程序

在 Linux 下使用 VS Code 调试 C++ 程序,需要配置 编译环境调试插件launch.json 文件。以下是详细步骤:


1. 安装必要工具

(1) 安装编译器和调试器

  1. # Ubuntu/Debian
  2. sudo apt update
  3. sudo apt install g++ gdb make cmake
  4. # CentOS/RHEL
  5. sudo yum install gcc-c++ gdb make cmake

(2) 安装 VS Code 插件


2. 创建 C++ 项目

假设项目结构如下:

  1. my_project/
  2. ├── src/
  3. └── main.cpp
  4. ├── include/
  5. └── .vscode/
  6. ├── tasks.json # 编译任务配置
  7. └── launch.json # 调试配置

(1) 示例代码

编辑 src/main.cpp

  1. #include <iostream>
  2. using namespace std;
  3. int main() {
  4. int a = 5, b = 3;
  5. cout << "a + b = " << a + b << endl;
  6. return 0;
  7. }

3. 配置编译任务

.vscode/tasks.json 中定义如何编译代码:

  1. {
  2. "version": "2.0.0",
  3. "tasks": [
  4. {
  5. "label": "Build C++",
  6. "type": "shell",
  7. "command": "g++",
  8. "args": [
  9. "-g", // 生成调试信息
  10. "${file}", // 当前文件
  11. "-o",
  12. "${fileDirname}/${fileBasenameNoExtension}" //输出可执行文件路径
  13. ],
  14. "group": {
  15. "kind": "build",
  16. "isDefault": true
  17. },
  18. "problemMatcher": ["$gcc"]
  19. }
  20. ]
  21. }

快捷键:按 Ctrl+Shift+B 触发编译。


4.配置调试器

.vscode/launch.json中设置调试参数:

  1. {
  2. "version": "0.2.0",
  3. "configurations": [
  4. {
  5. "name": "(gdb) Launch", //配置名称
  6. "type": "cppdbg", //调试类型(C++)
  7. "request": "launch", //启动模式
  8. "program": "${fileDirname}/${fileBasenameNoExtension}", //可执行文件路径
  9. "args": [], //命令行参数
  10. "stopAtEntry": false, //是否在入口暂停
  11. "cwd": "${workspaceFolder}",//工作目录
  12. "environment": [],
  13. "externalConsole": false,
  14. "MIMode": "gdb", //使用GDB调试器
  15. "setupCommands":[{"description":"启用整齐打印","text":"-enable-pretty-printing","ignoreFailures”:true}]
  16. }
  17. ]
  18. }

5.开始调试

  1. 编译代码:按 Ctrl+Shift+B
  2. 设置断点:点击代码行号左侧。
  3. 启动调试:按 F5或点击“运行和调试”侧边栏按钮。

6.CMake项目配置(可选)

如果使用 CMake,需额外步骤: 1.创建CMakeLists.txt:

  1. cmake_minimum_required(VERSION3.10)
  2. project(MyProject)
  3. add_executable(my_program src/main.cpp)

2.VS Code中操作:
-打开包含CMakeLists.txt的文件夹。
-按Ctrl+Shift+P输入“CMake:Configure”选择编译器(如GCC)。
-按F5自动生成并关联调试配置。


常见问题排查

问题 解决方案
找不到头文件 .vscode/c_cpp_properties.json中设置包含路径(includePath)
GDB权限错误 运行命令:echo"set startup-with-shell off">~/.gdbinit
无法进入STL源码 安装STL开发包:sudo apt install libstdc++6-dbg

如果需要更复杂的多文件项目或库链接配置,可以进一步说明需求!


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=23365

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?