VSCode C/C++ 编译调试

  目录

一、安装 VSCode 插件

1.1 安装 Chinese 插件

1.2 安装 C/C++ 插件

二、Linux 上安装软件包

2.1 安装 gcc-c++

2.2 安装 gdb 

三、配置 VSCode

3.1 编译配置

3.2 debug 配置

四、debug

4.1 编写代码

4.2 debug

五、总结

六、参考链接


在 Linux 系统下,C/C++的debug通常使用 gdb,但是,使用 gdb 并不是那么直观,需要记住许多的命令。这篇文章介绍下 VSCode 来 debug C/C++程序,这真是一款很好用的编辑器。

一、安装 VSCode 插件

1.1 安装 Chinese 插件

打开 VSCode,在 VSCode 中安装语言插件,点击左侧<扩展>,输入Chinese,点击安装,如下图所示:

1.2 安装 C/C++ 插件

还是在扩展中,输入 C,选择 C/C++ 安装,如下图所示:

二、Linux 上安装软件包

2.1 安装 gcc-c++

本文 Linux 使用的是 CentOS 8,安装 gcc-c++,执行如下命令。

[root@bogon debug-C++]# yum install gcc-c++

2.2 安装 gdb 

因为后台使用的是 gdb,所以安装 gdb,如下所示:

[root@bogon debug-C++]# yum install gdb

三、配置 VSCode

3.1 编译配置

依次点击菜单栏 <终端>,<配置任务>,<使用模板创建tasks.json>,<Others>,如下图所示:

出现一个 tasks.json 的 json 配置文件,重新配置 tasks.json 后如下所示:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "debug-C++",   // 任务名称
            "type": "shell",        // 表示使用 shell 命令执行
            "command": "g++",       // 实际执行的命令
            "args": [               // 实际执行命令的参数,使用逗号分隔
                "-g",               // -g 参数表示添加 debug 信息
                "-o",               // -o 指定输出文件名称
                "main",             // 输出文件名称
                "main.cpp"          // 源文件
            ]
        }
    ]
}

添加完成后,在左边资源管理器部分可以看到在 “.vscode” 目录下多了一个文件 tasks.json,如下图所示:

3.2 debug 配置

依次点击菜单栏<终端>,<添加配置>,<C++(GDB/LLDB)>,如下图所示:

PS: 如果出现如下错误,先生成带调试信息的可执行文件,使用鼠标选中可执行文件,然后再执行。

Cannot read property 'includes' of undefined

然后,出现文件 launch.json 文件,重新配置后如下所示:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "debuge test",                  // 名称
            "type": "cppdbg",                       
            "request": "launch",
            "program": "${workspaceFolder}/main",   //可执行文件的位置  ${workspaceFolder}:当前目录
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "debug-C++"           // 重要:在调试之前启动的任务名称
        }
    ]
}

经过上面的配置,所有的配置工作就完成了。

四、debug

4.1 编写代码

这里故意写了一个复杂一点的,如下所示:

#include <iostream>
using namespace std;

void function1(int i, int j) {
    cout<<"function1"<<endl;
    cout<<"i = "<<i<<" j = "<<j<<endl;
}

int main() {
    int i = 1;
    int j = 2;
    function1(i, j);
    cout<<"Hello, World!"<<endl;
    i = 3;
    j = 5;
    function1(i, j);
    cout<<"Hello, World!"<<endl;
    return 0;
}

4.2 debug

点击 F5 (或依次点击菜单栏<运行>,<启动调试>),如下图所示:

其中,左侧可以显示变量、监视、调用堆栈、断点,右侧横条的按钮分别为:继续、单步跳过、单步调试、单步跳出、重启和停止。 

五、总结

经过上面的步骤,就可以通过 VSCode 调试 C/C++ 程序了,赶紧尝试一下吧!

六、参考链接

[1] https://code.visualstudio.com/docs/editor/tasks#vscode

[2] https://code.visualstudio.com/docs/editor/debugging#_launch-configurations

 

猜你喜欢

转载自blog.csdn.net/u011074149/article/details/109829424