Visual Studio Code 配置C、C++ 文件debug调试环境的详细过程

下面是Visual Studio Code配置C/C++文件debug调试环境的详细过程:

安装必要的软件

在开始配置之前,需要先安装以下软件:

  • Visual Studio Code:用于代码编辑和调试
  • MinGW:用于编译C/C++代码
  • C/C++插件:用于在Visual Studio Code中编写C/C++代码

配置调试环境

  1. 打开Visual Studio Code,新建一个C/C++文件。

  2. 点击菜单栏的“调试”按钮,选择“创建配置文件”。

  3. 在弹出的选择框中,选择“C++”。

  4. 在出现的launch.json文件中,修改以下字段:

    • "program": "${file}.exe":指定需要调试的程序,这里使用${file}.exe表示以当前文件名为程序名。

    • "MIMode": "gdb":指定使用gdb作为后台调试器。

    • "miDebuggerPath": "D:\\MinGW\\bin\\gdb.exe":设置gdb的路径。

    • "setupCommands": [ { "description": "启用gdb的内建源码路径解析功能", "text": "-enable-pretty-printing", "ignoreFailures": true } ]:启用gdb的内建源码路径解析功能。

一个简单的launch.json示例:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "${file}.exe",
            "args": [],
            "stopAtEntry": true,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\MinGW\\bin\\gdb.exe",
            "preLaunchTask": "build",
            "setupCommands": [ { "description": "启用gdb的内建源码路径解析功能", "text": "-enable-pretty-printing", "ignoreFailures": true } ],
            "miDebuggerArgs": "-cd=${workspaceFolder}"
        }
    ]
}
  1. 配置tasks.json文件,用于编译C/C++代码。

打开Visual Studio Code的“终端”窗口,输入Ctrl+Shift+P打开“命令面板”,输入“任务:配置默认生成任务”,选择“创建任务文件-其他”选项,再选择“创建tasks.json文件”。

在出现的tasks.json文件中,修改以下字段:

- `"command": "gcc", "args": ["-g", "${file}", "-o", "${file}.exe"]`:编译C/C++代码。

一个简单的tasks.json示例:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "gcc",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${file}.exe"
            ],
            "group": "build",
            "problemMatcher": "$gcc"
        }
    ]
}
  1. 点击菜单栏的“运行”按钮,选择“运行无调试”,编译并运行程序。

  2. 点击菜单栏的“调试”按钮,选择“启动调试”,启动调试器。

此时可在Visual Studio Code的“调试控制台”窗口中输入程序的运行参数,并开始进行调试。

示例说明

以下是两个示例,用于说明Visual Studio Code配置C/C++文件debug调试环境的详细过程。

示例一:

需求:编写一个程序,实现输入两个整数并求和的功能,使用Visual Studio Code进行调试。

  1. 在Visual Studio Code中新建一个C++文件,输入以下代码:
#include<iostream>
using namespace std;
int main()
{
    int a,b;
    cin>>a>>b;
    cout<<"a+b="<<a+b<<endl;
    return 0;
}
  1. 点击菜单栏的“调试”按钮,选择“创建配置文件”,在出现的弹框中选择“C++”。

  2. 在生成的launch.json文件中,修改以下字段:

    • "program": "${file}.exe":指定需要调试的程序,这里使用${file}.exe表示以当前文件名为程序名。

    • "miDebuggerPath": "D:\\MinGW\\bin\\gdb.exe":设置gdb的路径。

  3. 配置tasks.json文件,用于编译C++代码。

在出现的tasks.json文件中,修改以下字段:

- `"command": "g++", "args": ["-g", "${file}", "-o", "${file}.exe"]`:编译C++代码。
  1. 点击菜单栏的“运行”按钮,选择“运行无调试”,编译并运行程序。程序运行后会等待用户输入两个整数,输入完毕后回车即可。

  2. 点击菜单栏的“调试”按钮,选择“启动调试”,启动调试器。

  3. 此时Visual Studio Code会停在第一行代码处,可以在调试控制台中输入10 20回车,程序会输出a+b=30

示例二:

需求:编写一个程序,实现随机生成10个1~100之间的整数并进行排序的功能,使用Visual Studio Code进行调试。

  1. 在Visual Studio Code中新建一个C文件,输入以下代码:
#include<stdio.h>
#include<stdlib.h>
#define maxsize 10
int main()
{
    int a[maxsize];
    int i,j,tmp;
    for(i=0;i<maxsize;i++)
        a[i]=rand()%100+1;
    printf("随机生成的数字为:\n");
    for(i=0;i<maxsize;i++)
        printf("%d ",a[i]);
    printf("\n");
    for(i=0;i<maxsize-1;i++)
    {
        for(j=0;j<maxsize-i-1;j++)
        {
            if(a[j]>a[j+1])
            {
                tmp=a[j];
                a[j]=a[j+1];
                a[j+1]=tmp;
            }
        }
    }
    printf("排序后的数字为:\n");
    for(i=0;i<maxsize;i++)
        printf("%d ",a[i]);
    printf("\n");
    return 0;
}
  1. 点击菜单栏的“调试”按钮,选择“创建配置文件”,在出现的弹框中选择“C++”(因为没有C的选项,这里以C++选项为例)。

  2. 在生成的launch.json文件中,修改以下字段:

    • "program": "${file}.exe":指定需要调试的程序,这里使用${file}.exe表示以当前文件名为程序名。

    • "miDebuggerPath": "D:\\MinGW\\bin\\gdb.exe":设置gdb的路径。

  3. 配置tasks.json文件,用于编译C代码。

在出现的tasks.json文件中,修改以下字段:

- `"command": "gcc", "args": ["-g", "${file}", "-o", "${file}.exe"]`:编译C代码。
  1. 点击菜单栏的“运行”按钮,选择“运行无调试”,编译并运行程序。

  2. 点击菜单栏的“调试”按钮,选择“启动调试”,启动调试器。

  3. 此时Visual Studio Code会停在第一行代码处,可以在调试控制台中单步执行程序,查看程序的运行过程和输出结果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Visual Studio Code 配置C、C++ 文件debug调试环境的详细过程 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • gin 获取post请求的json body操作

    获取post请求的json body操作指的是在网站的后端处理中,从请求中获取客户端使用POST方式提交的JSON数据。在Gin框架中,可以使用以下步骤来实现该操作。 1. 引入相关库 在Go中,可以使用标准库encoding/json来处理JSON数据。为了在Gin框架中方便处理JSON数据,需要引入github.com/gin-gonic/gin库。 i…

    C 2023年5月23日
    00
  • 在QT5中实现求两个输入值的和并输出(实例)

    下面我将为你讲解在QT5中实现求两个输入值的和并输出的完整攻略。首先,我们需要创建一个QT5项目,然后编写代码。 第一步:设计界面 首先,我们需要设计一个简单的界面,让用户可以输入两个值并计算它们的和。可以使用QT Designer来设计界面,也可以手动编写代码来创建相应的界面。 以下是一个简单的界面设计示例: <?xml version="…

    C 2023年5月24日
    00
  • Python查找函数f(x)=0根的解决方法

    Python查找函数f(x)=0根的解决方法 在Python中,查找函数 $f(x)=0$ 根的解决方法主要有以下三种: 1. 数学库中的数值解函数 Python中的数学库提供了许多数值解函数,如 scipy.optimize 中的 root_scalar 函数。这个函数可以处理一般的一元函数求解问题,可以数值计算$f(x)=0$ 的根。 示例代码: fro…

    C 2023年5月22日
    00
  • js 将json字符串转换为json对象的方法解析

    下面是关于 “js 将json字符串转换为json对象的方法解析” 的完整攻略: 什么是 JSON JSON(JavaScript Object Notation)是一种轻量级数据交换格式。JSON 被设计成易于读写和解析,同时也易于生成和解析。JSON 使用 JavaScript 语法,但是 JSON 格式作为独立的数据格式存在于多种编程语言中。 JSON…

    C 2023年5月22日
    00
  • 浅析C# web访问mysql数据库-整理归纳总结

    接下来我将详细讲解“浅析C# web访问mysql数据库-整理归纳总结”的完整攻略。 1.安装MySQL Connector/NET 为了能够访问MySQL数据库,我们需要安装MySQL Connector/NET,可以通过以下步骤进行安装: 1.以管理员身份运行 Visual Studio。2.在“工具”菜单中选择“Nuget包管理器” > “程序包…

    C 2023年5月22日
    00
  • VS2015怎么解决scanf函数的C4996错误?

    当使用VS2015进行C\C++编程时,scanf函数会报C4996错误,这是由于scanf函数被认为是不安全的函数而导致的。要解决这个问题,我们需要用安全的scanf_s函数,以下是解决方案的详细步骤。 Step 1: 打开VS2015编译器 Step 2: 新建一个C或C++项目 Step 3: 在代码中,找到scanf函数的相应位置 示例1: #inc…

    C 2023年5月23日
    00
  • C++使用map实现多进程拷贝文件的程序思路

    为了实现使用map实现多进程拷贝文件的程序,我们可以按照以下步骤操作: 步骤一:导入必要的头文件 在写C++多进程拷贝文件程序时,需要用到以下两个头文件: #include <unistd.h> // 提供fork()函数 #include <sys/wait.h> // 提供wait()函数 步骤二:打开需要读取和写入的文件 使用C…

    C 2023年5月30日
    00
  • C++重载运算符的规则详解

    C++重载运算符的规则详解 在C++中,程序员可以重载许多运算符(operator),包括算术运算、关系运算、逻辑运算、位运算等等。这些运算符具有与常规函数相似的结构,因此也被称为“运算符重载函数”。本文将详细讲解C++重载运算符的规则。 1. 重载运算符的声明 重载运算符的声明与常规函数的声明类似。重载运算符的名称后跟着一对圆括号(),其中可选参数可以放在…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部