超详细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++友元函数与友元类的深入解析

    友元函数的特点是能够访问类中的私有成员的非成员函数。友元函数从语法上看,它与普通函数一样,即在定义上和调用上与普通函数一样
    2013-07-07
  • C语言链表实现歌手评分系统

    C语言链表实现歌手评分系统

    这篇文章主要为大家详细介绍了C语言链表实现歌手评分系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • 详解C语言和Python中的线程混用

    详解C语言和Python中的线程混用

    这篇文章主要介绍了C和Python中的线程混用的相关资料,文中讲解非常细致,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • 全面解析C++中的new,operator new与placement new

    全面解析C++中的new,operator new与placement new

    以下是C++中的new,operator new与placement new进行了详细的说明介绍,需要的朋友可以过来参考下
    2013-09-09
  • C++11新特性之智能指针(shared_ptr/unique_ptr/weak_ptr)

    C++11新特性之智能指针(shared_ptr/unique_ptr/weak_ptr)

    这篇文章主要介绍了C++11新特性之智能指针,包括shared_ptr, unique_ptr和weak_ptr的基本使用,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • C语言实现会员管理系统

    C语言实现会员管理系统

    这篇文章主要为大家详细介绍了C语言实现会员管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 关于C++STL string类的介绍及模拟实现

    关于C++STL string类的介绍及模拟实现

    这篇文章主要介绍了关于C++STL string类的介绍及模拟实现的相关资料,需要的朋友可以参考下面具体的文章内容
    2021-09-09
  • C语言编程函数指针入门精讲教程

    C语言编程函数指针入门精讲教程

    大家在C语言的学习中一定会接触指针这样一个东西,而指针也是新手路上一定要消灭的boss,如果以后还要学习Java的同学更是要注重指针的学习,希望能够有所帮助
    2021-10-10
  • C++ WideCharToMultiByte()函数案例详解

    C++ WideCharToMultiByte()函数案例详解

    这篇文章主要介绍了C++ WideCharToMultiByte()函数案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • C语言使用链表实现学生信息管理系统

    C语言使用链表实现学生信息管理系统

    这篇文章主要为大家详细介绍了C语言使用链表实现学生信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12

最新评论