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

 更新时间:2022年10月27日 11:08:22   作者:BillySturate  
vscode是一个轻量级的文本编辑器,但是它的扩展插件可以让他拓展成功能齐全的IDE,这其中就靠的是tasks.json和launch.json的配置,下面这篇文章主要给大家介绍了关于超详细VScode调试教程tasks.json和launch.json设置的相关资料,需要的朋友可以参考下

运行环境:

VSCode 1.68.1

wsl:ubuntu子系统

废话不多说,直接开整,首先选择左侧任务栏的第四个选项运行和调试,点击创建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键进行调试,成功啦

总结 

到此这篇关于超详细VScode调试教程tasks.json和launch.json设置的文章就介绍到这了,更多相关VScode tasks.json和launch.json的设置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于C语言实现简单的扫雷小游戏

    基于C语言实现简单的扫雷小游戏

    这篇文章主要为大家详细介绍了基于C语言实现简单的扫雷小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • C++ 封装 DLL 供 C# 调用详细介绍

    C++ 封装 DLL 供 C# 调用详细介绍

    这篇文章主要介绍了C++ 封装 DLL 供 C# 调用(以C# 调用C++ 二次封装的VLC播放库为介质,支持回调函数的封装),需要的朋友可以参考下面我文章的具体内容
    2021-09-09
  • C语言内存操作函数使用示例梳理讲解

    C语言内存操作函数使用示例梳理讲解

    这篇文章主要介绍了C语言库函数中的内存操作函数memcpy()、memmove()、memset()、memcmp()使用示例分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-09-09
  • C++解决业务办理时间问题示例解析

    C++解决业务办理时间问题示例解析

    这篇文章主要为大家介绍了C++解决业务办理时间问题示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • c++自带的查找函数详解

    c++自带的查找函数详解

    这篇文章主要介绍了c++自带的查找函数,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • C++11并发编程:多线程std::thread

    C++11并发编程:多线程std::thread

    今天小编就为大家分享一篇关于C++11并发编程:多线程std::thread,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • 五个经典链表OJ题带你进阶C++链表篇

    五个经典链表OJ题带你进阶C++链表篇

    做题之前呢,小编想提醒下大家,要三思而后行,不要一上来就嘎嘎敲代码,要先学会自己画图分析,把自己的思路捋清楚,不要到时候写代码五分钟,调试两小时,记住,编程思路很重要
    2022-03-03
  • 详解编译器编译原理

    详解编译器编译原理

    这篇文章主要介绍了详解编译器编译原理的相关资料,需要的朋友可以参考下
    2017-06-06
  • C++ 在 Unreal 中为游戏增加实时音视频互动的教程详解

    C++ 在 Unreal 中为游戏增加实时音视频互动的教程详解

    这篇文章主要介绍了C++ 在 Unreal 中为游戏增加实时音视频互动的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • Qt实现带字数限制的文字输入框

    Qt实现带字数限制的文字输入框

    这篇文章介绍了Qt实现带字数限制文字输入框的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04

最新评论