vscode配置c/c++调试环境

本文记录win平台使用vscode远程连接ubuntu server服务器下,如何配置c/c++调试环境。

过程

1. 服务器配置编译环境

这里的前置条件是vscode已经能够连接到服务器,第一步安装编译构建套件(gcc、g++、make、链接器等)和调试器:sudo apt-get install build-essential gdb

2. 配置vscode

安装c/c++拓展
安装c/c++拓展
Ctril+Shift+P调出命令行,Reload Window快速重启窗口

生成.vscode文件夹下默认配置,主要包含如下三个文件:
在这里插入图片描述

Ctrl+Shift+P调出命令行:
命令行==>C/C++:编辑配置(JSON)				// c_cpp_properties.json
命令行==>任务:配置任务						// task.json
命令行==>调试:添加配置						//launch.json

C/C++编辑配置
任务:配置任务
调试:添加配置

3. 创建源文件,设置具体json配置项

源文件如下:

// main.cpp
#include <iostream>
#include <iomanip> // 用于控制输出格式int main() {for (int i = 1; i <= 9; ++i) { // 外层循环,控制行for (int j = 1; j <= i; ++j) { // 内层循环,控制列// 打印乘法表的一项,setw(4)设置输出宽度为4,以保持对齐std::cout << j << "x" << i << "=" << std::setw(2) << i*j << "  ";}std::cout << std::endl; // 每打印完一行后换行}return 0;
}

配置项如下,说明以注释形式给出:

// c_cpp_properites.json 默认的
{"configurations": [{"name": "Linux","includePath": ["${workspaceFolder}/**"],"defines": [],"compilerPath": "/usr/bin/gcc","cStandard": "c17","cppStandard": "gnu++14","intelliSenseMode": "linux-gcc-x64"}],"version": 4
}
// launch.json
{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(gdb) 启动","type": "cppdbg","request": "launch","program": "${workspaceFolder}/main.dbg", // 调试程序名"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": "build_dbg" // 预执行任务}]
}// tasks.json
{// See https://go.microsoft.com/fwlink/?LinkId=733558// for the documentation about the tasks.json format"version": "2.0.0","tasks": [{"label": "build_dbg","type": "shell","command": "g++ *.cpp -g -o main.dbg" // 任务,这里使用g++编译输出文件}]
}

下断点,F5调试,vsc将根据launch.json中的配置,使用gdb调试main.gdb,在此之前执行preLaunchTask,即"build_dbg","build_dbg"在task.json中配置,执行“g++ *.cpp -g -o main.dbg”
源文件

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WorkPlus一站式的企业IM系统,推动企业协作与创新发展

在当代企业中&#xff0c;高效的内部通讯和协作对于企业的发展至关重要。而企业IM系统&#xff0c;作为实现内部信息交流和协作的重要工具&#xff0c;WorkPlus以其卓越的性能和功能&#xff0c;助力企业打造高效沟通与协作平台。WorkPlus提供了全面的企业IM系统解决方案。不论…

(三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练

这里写目录标题 一、colmap解算数据放入高斯1. 将稀疏重建的文件放入高斯2. 将稠密重建的文件放入高斯 二、vkitti数据放入高斯 一、colmap解算数据放入高斯 运行Colmap.bat文件之后&#xff0c;进行稀疏重建和稠密重建之后可以得到如下文件结构。 1. 将稀疏重建的文件放入高…

javaWeb奶茶商城前后台系统

一、简介 在当前数字化时代&#xff0c;电子商务已成为人们生活中不可或缺的一部分。为了满足用户对奶茶的需求&#xff0c;我设计并实现了一个基于JavaWeb的奶茶商城前后台系统。该系统涵盖了用户前台和管理员后台两大模块&#xff0c;包括登录注册、商品展示、购物车管理、订…

OpenCV学习笔记(十二)——绘制颜色直方图以及颜色空间的转换

颜色直方图 颜色直方图是计算机视觉以及图像处理中一个重要的内容&#xff0c;颜色直方图可以反映图像颜色的统计分布以及基本色调&#xff0c;通过颜色直方图可以清晰的看到各个区间的像素有多少。颜色直方图是一种全局特征&#xff0c;反映了图像或某个区域的总体颜色属性&a…

Navicat 干货 | 探索 PostgreSQL 的外部数据包装器和统计函数

PostgreSQL 因其稳定性和可扩展性而广受青睐&#xff0c;为开发人员和数据管理员提供了许多有用的函数。在这些函数中&#xff0c;file_fdw_handler、file_fdw_validator、pg_stat_statements、pg_stat_statements_info 以及 pg_stat_statements_reset 是其中的重要函数&#x…

【python 装饰器 - 重试】做一个简易重试装饰器,如果函数执行错误则会自动重新执行,可设置重试次数,对爬虫比较友好

文章日期&#xff1a;2024.03.19 使用工具&#xff1a;Python 类型&#xff1a;装饰器 文章全程已做去敏处理&#xff01;&#xff01;&#xff01; 【需要做的可联系我】 AES解密处理&#xff08;直接解密即可&#xff09;&#xff08;crypto-js.js 标准算法&#xff09;&…

数据容器-序列-集合-Python

师从黑马程序员 序列 序列的常用操作-切片 切片&#xff1a;从一个序列中&#xff0c;取出一个子序列 语法&#xff1a;序列[起始下标:结束下标&#xff0c;步长] 注&#xff1a;此操作不会影响序列本身&#xff0c;而是会得到一个新的序列 my_list[0.1,2,3,4,5,6] result1…

谧林涓露门禁

原神武器升级材料谧林涓露和门禁好像聂。 difference(){union(){cylinder(2, 10,10, $fn365);hull(){translate([15,0,0])cylinder(1,2,2,$fn365);cylinder(1,10,10,$fn365);}}translate([15,0,-1])cylinder(4,1,1,$fn365); }

UDP建立聊天群

参考网上代码 接收端 #include<myhead.h> #define PRINT_ERR(msg) \ do \ { \ printf("%s,…

【4XVR】win11局域网共享3D影片给quest3

准备工作 首先要有一个路由器&#xff0c;使电脑和quest3处于同一个局域网下 一.创建一个离线账户 打开设置选择账户 添加账户 二.共享文件 选择要共享的文件夹&#xff0c;右键打开属性&#xff0c;点击共享 选择刚刚创建的用户&#xff0c;点击共享即可 三.使用quest观影 …

Airtest自动化测试工具

一开始知道Airtest大概是在年初的时候&#xff0c;当时&#xff0c;看了一下官方的文档&#xff0c;大概是类似Sikuli的一个工具&#xff0c;主要用来做游戏自动化的&#xff0c;通过截图的方式用来解决游戏自动化测试的难题。最近&#xff0c;移动端测试的同事尝试用它的poco库…

从边缘设备丰富你的 Elasticsearch 文档

作者&#xff1a;David Pilato 我们在之前的文章中已经了解了如何丰富 Elasticsearch 本身和 Logstash 中的数据。 但如果我们可以从边缘设备中做到这一点呢&#xff1f; 这将减少 Elasticsearch 要做的工作。 让我们看看如何从具有代理处理器的 Elastic 代理中执行此操作。 E…