Linux环境下VS code的python与C++调试环境的安装

news2024/9/24 11:31:00

Linux环境下VS code的python与C++调试环境的安装

文章目录

  • Linux环境下VS code的python与C++调试环境的安装
  • 前言
  • 一、云服务器的环境
  • 二、VS code相关信息
  • 三、python 开发环境配置
  • 四、C++开发环境配置
    • 1.测试main.cpp
    • 2.进行debug
    • 3.进行debug程序
    • 4.运行main.cpp程序步骤


前言

  • 最近写的 C++(基础学习,cmake等)和python项目用的都是IDE是vscode, 在linux环境下进行编写, 使用的是云服务器。

一、云服务器的环境

在这里插入图片描述

二、VS code相关信息

  • 下载地址:https://code.visualstudio.com/download
  • VS Code 部分安装插件列表:
    • 中文安装包:
      • MS-CEINTL.vscode-language-pack-zh-hans
    • SSH远程开发:
      • ms-vscode-remote.remote-ssh
      • ms-vscode-remote.remote-ssh-edit
      • ms-vscode.remote-explorer
    • C++开发
      • ms-vscode.cpptools
    • python开发
      • ms-python.python
    • 代码补全
      • TabNine.tabnine-vscode(我用的是这个)

三、python 开发环境配置

  • 建立 conda 虚拟环境:
  • 写一个简单的测试代码 dem.py
# python 代码调试
# 计算 1+2+3+...+100 的值

sum = 0


for i in range(101):
    
    sum+=i

  
print(sum)
  • debuger模式下, 在本文件下新建.vscode文件夹,并在其下面添加launch.json文件
    在这里插入图片描述
  • launch.json文件内容
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",                   // 当前文件
            "console": "integratedTerminal",
            "justMyCode": true                      // false表示可以进入第三方库(如Pytorch)里进行调试
        }
    ]
}
  • 打断点进行调试
    在这里插入图片描述

四、C++开发环境配置

1.测试main.cpp

  • linux 是通过 g++ 编译的
  • 在服务器终端命令行: which g++ ,可查看 g++ 路径
  • 我的g++路径如下:
    在这里插入图片描述
  • 测试代码 main.cpp
#include<iostream>

using namespace std;


int main()
{
    int sum {0};

    for(int i {0}; i<101; i++)
    {
        sum += i;
    }

    cout << "结果: sum=" << sum << endl;

    return 0;
}
  • 再用VS Code 菜单:终端-运行生成任务 生成可执行文件,需要在.vscode先添加 tasks.json
{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "cppbuild",
      "label": "C/C++: g++ 生成活动文件",
      "command": "/usr/bin/g++", // g++的路径
      "args": [
        "-fdiagnostics-color=always", // 颜色
        "-g",  // 调试信息
        "-Wall", // 开启所有警告
        "-std=c++14", // c++14标准
        "${file}", // 文件本身,仅适用于C++基础知识教学,无法同时编译所有文件
        // "${fileDirname}/*.cpp", // 文件所在的文件夹路径下所有cpp文件
        "-o", // 输出
        "${workspaceFolder}/release/${fileBasenameNoExtension}" // 文件所在的文件夹路径/release/当前文件的文件名,不带后缀
      ],
      "options": {
        "cwd": "${fileDirname}" // 文件所在的文件夹路径
      },
      "problemMatcher": [
        "$gcc"
      ],
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "detail": "编译器: /usr/bin/g++"
    }
  ]
}
  • 执行 cpp 文件
  • g++ main.cpp -o main
  • main.cpp 为要执行的 main.cpp 代码源文件 main: 生成可执行的二进制 main 可执行文件
  • ./main 可得输出结果

2.进行debug

  • linux 系统下需要gdb对c++程序进行调试
  • 安装 gdb
apt-get update
apt-get install  gdb
  • launch.json修改为:
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg", // C++调试
            "request": "launch",
            "program": "${workspaceFolder}/release/${fileBasenameNoExtension}",  // 文件所在的文件夹路径/release/当前文件的文件名,不带后缀
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}", // 文件所在的文件夹路径
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description":  "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++ 生成活动文件" // tasks.json的label
        },
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}", // 当前文件
            // "program": "demo.py", // 指定文件
            "console": "integratedTerminal",
            "justMyCode": true // false表示可以进入第三方库(如Pytorch)里进行调试
        }
    ]
}

3.进行debug程序

在这里插入图片描述

4.运行main.cpp程序步骤

  • 点击 终端-运行生成任务
  • 终端命令行输入 ./release/main
  • 即可执行 main.cpp 程序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/833676.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

除了PS,还有那些软件可以打开PSD文件

设计师在交接文件时&#xff0c;会看到各种格式的扩展文件&#xff0c;不同的格式需要不同的软件来运行。大多数人都听说过流行的文件格式PSD&#xff0c;因为它是最常用的图片格式之一&#xff0c;还有JPG、PNG等。然而&#xff0c;与JPG和PNG不同的是&#xff0c;PSD格式文件…

MySQL操作命令详解:增删改查

文章目录 一、CRUD1.1 数据库操作1.2 表操作1.2.1 五大约束1.2.2 创建表1.2.3 修改表1.2.3 删除表1.2.4 表数据的增删改查1.2.5 去重方式 二、高级查询2.1 基础查询2.2 条件查询2.3 范围查询2.4 判空查询2.5 模糊查询2.6 分页查询2.7 查询后排序2.8 聚合查询2.9 分组查询2.10 联…

云智慧x统信软件:智能化IT服务管理,提升客户服务价值

统信软件由中国领先的操作系统厂商于2019年联合成立&#xff0c;是全球主流的操作系统产品及服务提供商&#xff0c;致力于研发安全稳定、智能易用的操作系统产品&#xff0c;拥有统信UOS桌面版、服务器版、智能终端版在内的全栈基础设施&#xff0c;以及集中域管平台、企业级应…

Atcoder 做题记录

My OI Blog A R C 155 F \mathbb{ARC \ 155 \ F} ARC 155 F E, F 先咕着&#xff0c;做一些多项式题&#xff0c;这篇题解是我人工翻译的 [1] Double Counting 双重计数 考虑从叶子节点开始&#xff0c;用唯一的方式&#xff08;如果有的话&#xff09;来构造出一棵满足条件的树…

AMBA总线协议的终结者,一文稿定ACECHIAXI

无论你是IC设计工程师、验证工程师、FPGA工程师、还是微电子相关专业的学生&#xff0c;对于AMBA总线一定不陌生。 随着技术迭代的发展、基于各种复用IP的SoC芯片场景被高度使用&#xff0c;越来越多的人开始和总线互联打交道。 你肯定听说过AMBA、AHB、APB、AXI、ACE 一、A…

银河麒麟V10 SP1安装网络调试助手

文章目录 系统环境文件准备软件配置过程系统环境 系统镜像:Kylin-Desktop-V10-SP1-General-Release-2203-ARM64.iso 内核:5.4.18-53-generic 文件准备 网络调试助手可执行文件压缩包下载m-net-assist-arm64-main.zip 链接:https://pan.baidu.com/s/10Vu8Z6wOzCImXZWAW0Y…

USB采集卡如何打pts

一、使用采集卡提供的pts 二、手动打pts 1.usb采集设备pts的问题 2.采集卡驱动&#xff0c;UVC/UAC&#xff0c;ffmpeg的关系 3.如何自己打pts 4.音视频同步调优 5.NTP等联网调时工具带来的不同步问题 一、使用采集卡提供的pts 我们用使用pc摄像头和使用pc麦克风声卡里的方法&…

SQL分类及通用语法数据类型

一、SQL分类 DDL: 数据定义语言&#xff0c;用来定义数据库对象&#xff08;数据库、表、字段&#xff09;DML: 数据操作语言&#xff0c;用来对数据库表中的数据进行增删改DQL: 数据查询语言&#xff0c;用来查询数据库中表的记录DCL: 数据控制语言&#xff0c;用来创建数据库…

大数据技术之Hadoop:HDFS集群安装篇(三)

目录 分布式文件系统HDFS安装篇 一、为什么海量数据需要分布式存储 二、 分布式的基础架构分析 三、 HDFS的基础架构 四 HDFS集群环境部署 4.1 下载安装包 4.2 集群规划 4.3 上传解压 4.4 配置HDFS集群 4.5 准备数据目录 4.6 分发hadoop到其他服务器 4.7 配置环境变…

AlexNet卷积神经网络-笔记

AlexNet卷积神经网络-笔记 AlexNet卷积神经网络2012年提出 测试结果为&#xff1a; 通过运行结果可以发现&#xff0c; 在眼疾筛查数据集iChallenge-PM上使用AlexNet&#xff0c;loss能有效下降&#xff0c; 经过5个epoch的训练&#xff0c;在验证集上的准确率可以达到94%左右…

【NX】NX二次开发中遍历所有部件完整范例

一个入门的基本例子&#xff0c;这里提供完整代码&#xff0c;遍历所有部件&#xff0c;其他同理。 //author&#xff1a;autumoon //邮箱&#xff1a;9506163.com //日期&#xff1a;2023-08-03 /*************************************************************************…

大数据开发的前景怎么样?该怎么学习?

猎聘大数据研究院发布了《2022未来人才就业趋势报告》 从排名来看&#xff0c;2022年1-4月各行业中高端人才平均年薪来看&#xff0c;人工智能行业中高端人才平均年薪最高&#xff0c;为31.04万元&#xff1b;金融行业中高端人才以27.69万元的平均年薪位居第二&#xff1b;通信…

Prometheus-各种exporter

一、 nginx-prometheus-exporter 1 nginx 配置 1.1 Nginx 模块支持 nginx 安装的时候需要有 nginx 的状态模块: stub_status 可通过如下命令检查 nginx -V 2>&1 | grep -o with-http_stub_status_module1.2 Nginx 配置文件配置 添加如下配置到自己 nginx 的配置文…

【Spring框架】SpringBoot统一功能处理

目录 用户登录权限校验用户登录拦截器排除所有静态资源练习&#xff1a;登录拦截器拦截器实现原理 统一异常处理统一数据返回格式为什么需要统⼀数据返回格式&#xff1f;统⼀数据返回格式的实现 用户登录权限校验 用户登录拦截器 1.自定义拦截器 package com.example.demo.…

数据结构【第3章】——线性表

线性表的定义 线性表&#xff1a;零个或多个数据元素的有限序列。 1&#xff09;线性表是一个序列。即元素之间是有顺序的&#xff0c;若元素存在多个&#xff0c;则第一个元素无前驱&#xff0c;最后一个元素无后继&#xff0c;其他每个元素都有且只有一个前驱和后继。 2&a…

百度地图18.8.0首创红绿灯雷达功能,支持全程静音导航、停车推荐

百度地图App最新版本18.8.0已发布&#xff0c;独家推出红绿灯雷达功能&#xff0c;适用于安卓和iOS系统。 根据官方描述说明&#xff0c;行车时手机启用红绿灯雷达&#xff0c;能够自动检测红绿灯&#xff0c;值得一提的是无需输入目的地。同时&#xff0c;依靠北斗高精定位技术…

如何用python做自然语言处理

如何用python做自然语言处理 使用Python进行自然语言处理&#xff08;NLP&#xff09;是非常常见和强大的。以下是一些基本步骤&#xff1a; 安装所需的库&#xff1a; 首先&#xff0c;您需要安装一些用于自然语言处理的Python库&#xff0c;如NLTK&#xff08;自然语言工具包…

AMEYA360:尼得科科宝旋转型DIP开关系列汇总

旋转型DIP开关 S-4000 电路&#xff1a;BCD(十进制) 代码格式&#xff1a;实码 安装类型&#xff1a;表面贴装 调整位置&#xff1a;顶部 可水洗&#xff1a;无 端子类型&#xff1a;J 引线, 鸥翼型 旋转型DIP开关 SA-7000 电路&#xff1a;BCD(十进制), BCH(十六进制) 代码格式…

Qt5.14.2的安装教程

Qt5.14.2的安装教程 qt creator是qt桌面开发必备的软件&#xff0c;最近重新下载了一份&#xff0c;本文介绍一下Qt的安装过程。 找安装包 本文找到安装包&#xff0c;网址链接 qt5.14.2安装包官网&#xff1a; https://download.qt.io/archive/qt/5.14/5.14.2/ 这个官网下载速…

利用openTCS实现车辆调度系统(一)系统介绍

系统介绍 openTCS简介 官方的回答&#xff1a; openTCS&#xff08;开放式运输控制系统的缩写&#xff09;是一种免费的控制系统软件&#xff0c;用于协调自动导引车&#xff08;AGV&#xff09;和移动机器人车队&#xff0c;例如在生产工厂中。 通常应该可以控制任何具有通信…