VScode 调试教程 tasks.json和launch.json的设置(超详细)

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

运行环境

VSCode 1.68.1

wslubuntu子系统

在这里插入图片描述

废话不多说直接开整首先选择左侧任务栏的第四个选项运行和调试点击创建launch.json

在这里插入图片描述

创建好的界面如上图所示。点击右下角的添加配置
在这里插入图片描述

此时如上图所示选择第一个c/c++(gdb)启动

在这里插入图片描述

此时会生成如上图所示代码注意我画箭头的这两个地方那个cwd是我们当前文件所在的工作目录把画箭头的这两个地方改成一样的

在这里插入图片描述

改完后如上图所示后面的a.out是我们一会儿要调试的可执行文件名称这里用系统生成的也行改成自己的也行接下来我们开始配置tasks.json

在这里插入图片描述

首先回到main.cpp然后点击上方菜单栏的终端选择最后一个配置默认生成任务

在这里插入图片描述

此时如上如所示再选择第二个c/c++:g++生成活动文件

在这里插入图片描述

此时如上图所示生成tasks.json,接着我们打开launch.json做一个比较我们先在launch.json后面加一行代码"preLaunchTask",这行代码意思就是在launch之前运行的任务名这个名字一定要跟tasks.json中的任务名字写一致如下图所示tasks.json中的label要和launch.json中的preLaunchTask完全一致因为在执行launch.json之前系统会根据这行代码先去执行tasks.json中的内容可以简单理解为tasks.json中的代码会帮我们用g++/gcc编译生成可执行文件而launch.json中的代码是让系统来调试我们的可执行文件。

在这里插入图片描述

接下来看到tasks.json中的文件如下图所示其中的command 配置 , 是指定编译器 , 一般是 gcc 或者 g++ 编译器 接着下面的args是编译器后的编译选项注意这个-g意思就是编译出带调试信息的可执行文件如果少了这个-g生成的可执行文件就不能够调试了下面的main.cpp和swap.cpp是要编译的文件名-0参数指定生成可执行文件的名字下一行就是生成可执行文件的位置在当前的工作目录名字叫a.out

在这里插入图片描述

如下图所示大家注意文中的画箭头部分这两个起的名字要一样左边的是生成可执行文件叫a.out右边的是调试的文件叫a.out名字可以自己更换

所以tasks.json实际上就相当于帮我们完成了g++ -g main.cpp swap.cpp -o a.out的操作

在这里插入图片描述

配置好上面的文件后回到main.cpp设置自己的断点然后按F5键进行调试成功啦

在这里插入图片描述

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6