VSCode C/C++ 编译调试
在 Linux 系统下,C/C++的调试通常使用gdb进行调试。https://www.cnblogs.com/jiaxblog/p/9902535.html
目录
要说当前最流行的编辑器,VSCode 绝对可以数得着,越来越多的开发者倾向于使用 VSCode 进行开发。
随着越来越多样的开发工具的出现,对于调试程序,更多的人使用可视化的方式调试,更少的使用 gdb 直接调试,而且 gdb 并不是那么直观,需要记住许多的命令。这篇文章介绍下 VSCode 来 debug C/C++程序,真是一款非常好用的编辑器,强烈推荐!(Windows 和 Linux 都适合)
一、安装 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
更多推荐
所有评论(0)