zoukankan      html  css  js  c++  java
  • 【Linux】在Linux环境下使用VSCode调试C/C++程序

    一、前期准备

    1.首先在官网下载并安装好visual stdio code

    2. 因为vscode只是一个代码编辑器,没有自带有C/C++的编译器,因此我们需要安装一个C/C++编译器,打开终端依次输入下面的命令,确保安装好gcc/g++和gdb

    sudo apt-get update
    [有密码则输入密码]
    sudo apt-get install gcc
    [有密码则输入密码]
    sudo apt-get install g++
    [有密码则输入密码]
    sudo apt-get install gdb
    [有密码则输入密码]

    3. 安装必要的插件,打开vscode,点击左面竖排第五个按钮,搜索并安装上如下两个插件

    • C/C++
    • Code Runner

    安装好以后重启一下vscode,为避免出现其他问题,先暂时不要安装其他插件界面给你推荐的插件

    二、编译运行程序

    编译运行程序将介绍两种方法

    1. 使用之前安装好的Code Runner插件一键编译运行程序
    2. 打开vscode的集成终端使用命令行编译和运行

    点击:文件>新建文件,出现一个空白文档,我准备了一段测试用的代码,请复制粘贴到空白文档中

    #include <stdio.h>
    int main(){
       int a=1,b=2;
       printf("a+b= %d",a+b);
       return 0;
    }
     

    然后按Ctrl+S并将文件后缀名改为.c.cpp后保存到电脑上,然后点击右上角的三角形按钮(原本这个位置没有,是安装Code Runner插件后新增的一键编译运行程序的按钮),或者按Ctrl+Alt+N就能编译运行当前程序

    这就是使用Code Runner插件运行程序的方法,点击右上角的垃圾桶图标可以直接结束程序运行

    同时可以按ctrl+~打开集成终端在其中输入命令行指令来编译运行

    下面开始正式配置调试环境

    首先在电脑上你习惯的位置新建一个文件夹,用于存放编写的代码,接下来配置好的调试环境,仅会对存放在这一个文件夹以及文件夹的子目录里程序生效!

    新建好文件夹后,在vscode界面,点击:文件>打开文件夹,打开刚刚新建的文件夹

    再点击新建文件夹在打开的文件夹下新建一个 .vscode文件夹(注意前面的"."号)

    然后在.vscode文件夹下新建两个json文件分别叫做

    • launch.json
    • tasks.json

    然后将下面的代码复制到对应的json文件中去并保存

    launch.json

    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "C/C++",
                "type": "cppdbg",
                "request": "launch",
                "program": "${fileDirname}/${fileBasenameNoExtension}",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceFolder}",
                "environment": [],
                "externalConsole": false,
                "MIMode": "gdb",
                "preLaunchTask": "compile",
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ]
            }
        ]
    }

    tasks.json

    如果需要是c语言也就是gcc将下面的command项由g++改为gcc

    {
        "version": "2.0.0",
        "tasks": [{
                "label": "compile",
                "command": "g++",
                "args": [
                    "-g",
                    "${file}",
                    "-o",
                    "${fileDirname}/${fileBasenameNoExtension}"
                ],
                "problemMatcher": {
                    "owner": "cpp",
                    "fileLocation": [
                        "relative",
                        "${workspaceRoot}"
                    ],
                    "pattern": {
                        "regexp": "^(.*):(\d+):(\d+):\s+(warning|error):\s+(.*)$",
                        "file": 1,
                        "line": 2,
                        "column": 3,
                        "severity": 4,
                        "message": 5
                    }
                },
                "group": {
                    "kind": "build",
                    "isDefault": true
                }
            }
        ]
    }

    现在已经可以正常调试了

    并且此时可以按 ctrl+shift+B 直接调用配置好的g++ task 编译程序而不运行程序,类似于一些IDE的编译选项

    我的操作系统是UOS/Deepin V20

  • 相关阅读:
    hdu 5007 水题 (2014西安网赛A题)
    hdu 1698 线段树(成段替换 区间求和)
    poj 3468 线段树 成段增减 区间求和
    hdu 2795 公告板 (单点最值)
    UVaLive 6833 Miscalculation (表达式计算)
    UVaLive 6832 Bit String Reordering (模拟)
    CodeForces 124C Prime Permutation (数论+贪心)
    SPOJ BALNUM (数位DP)
    CodeForces 628D Magic Numbers (数位DP)
    POJ 3252 Round Numbers (数位DP)
  • 原文地址:https://www.cnblogs.com/HGNET/p/14075893.html
Copyright © 2011-2022 走看看