使用vscode调试代码

Step1:在系统中安装gdb

在Ubuntu系统下安装gdb:

apt-get update
apt-get install  gdb

在CentOS系统下安装gdb:

yum install gdb

Step2:编译生成Debug版本的可执行程序

假设源文件名称为test.cpp,使用g++编译器,生成debug版本的可执行程序gcc/g++默认生成Release版本,-g选项生成debug版,指令如下:

g++ -o debug.exe test.cpp -g -std=c++11

通过指令readelf -S debug.exe | grep debug,可以获取可执行文件中的debug信息。

[zhangHHH@VM-8-5-centos test]$ readelf -S debug.exe | grep debug
  [27] .debug_aranges    PROGBITS         0000000000000000  00001079
  [28] .debug_info       PROGBITS         0000000000000000  000010a9
  [29] .debug_abbrev     PROGBITS         0000000000000000  000033c1
  [30] .debug_line       PROGBITS         0000000000000000  00003893
  [31] .debug_str        PROGBITS         0000000000000000  00003b33

Step3:生成和配置launch.json文件

  • 单机左侧运行调试按键。
  • 点击创建launch.json,自动生成launch.json文件。

  • 点击添加配置。
  • 选择C/C++:(gdb)启动。

  • 对launch.json文件内容进行修改
  • 一般修改program -- 可执行文件绝对路径、args -- 选项、environment -- 环境变量,即可。 

Step4:开始调试

VSCode下的调试快捷键和VS2019下一致:

  • F10 -- 单步调试,遇到函数不进入。
  • F11 -- 单步调试,进入函数。
  • F5 -- 运行至下一个断点。
  • F9 -- 添加断点。
  • Shift + F5 -- 终止调试。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

你不知道的console

console console 对象提供了浏览器控制台调试的接口,我们可以从任何全局对象中访问到它,在不同浏览器上它的工作方式可能不一样,但通常都会提供一套共性的功能。 1.console.log() 打印内容的通用方法,使用方法可以参考使用字符…

DBO优化LSBoost回归预测(matlab代码)

DBO-LSBoost回归预测matlab代码 蜣螂优化算法(Dung Beetle Optimizer, DBO)是一种新型的群智能优化算法,在2022年底提出,主要是受蜣螂的的滚球、跳舞、觅食、偷窃和繁殖行为的启发。 数据为Excel股票预测数据。 数据集划分为训练集、验证集、测试集,比…

【系统架构师】-计算机网络

1、网络的划分 网络性能指标:速率、带宽(频带宽度或传送线路速率)、吞吐量、时延、往返时间、利用率。 网络非性能指标:费用、质量、标准化、可靠性、可扩展性、可升级性、易管理性和可维护性。 总线型(利用率低、干扰大、价格低)、 星型(交换机转发形…

【Linux】系统开启和关闭过程

Linux 系统启动过程 BIOS 自检:在计算机开机时,BIOS 会进行自检,检查硬件设备是否正常。 加载引导程序:BIOS 自检完成后,会加载引导程序,如 GRUB、LILO 等。引导程序会加载内核和初始化 RAM 磁盘&#xff…

数据结构:详解【栈和队列】的实现

目录 1. 栈1.1 栈的概念及结构1.2 栈的实现1.3 栈的功能1.4 栈的功能的实现1.5 完整代码 2. 队列2.1 队列的概念及结构2.2 队列的实现2.3 队列的功能2.4 队列的功能的实现2.5 完整代码 1. 栈 1.1 栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的…

如何看待腾讯 QQ 浏览器抄袭 Arc

今天在 Reddit 的帖子上看到,QQ 浏览器抄袭了 Arc 而且还是 Arc 官方发布的 It looks very similar lol 看起来也太像了,笑死我了 稍微震惊了一下,带着疑惑,打开了 QQ 浏览器官网页 点击下载 ⬇️ 下载后打开 翻找了下&#xff0…

2004-2022年各省化学需氧量数据(无缺失)

2004-2022年各省化学需氧量数据(无缺失) 1、2004-2022年 2、范围:31省 3、指标:化学需氧量 4、来源:各省年鉴、国家统计局、环境年鉴 5、指标解释:化学需氧量(COD)排放量指工业废水中COD排放量与生活污…

java 泛型(下)

本篇文章主要说明的是类型通配符、可变参数、可变参数的使用等。 在学习之前,希望能对泛型有个大概了解,可参考链接 java 泛型(上)-CSDN博客 也希望对泛型类、泛型接口、泛型方法有个大概的认识及使用,可参考链接 j…

【保姆级教程】YOLOv8_Track多目标跟踪,快速运行

一、YOLOV8环境准备 1.1 下载安装最新的YOLOv8代码 仓库地址: https://github.com/ultralytics/ultralytics1.2 配置环境 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple二、下载测试视频,预训练权重 测试视频 链接&am…

nuc980下 RTL8188EUS_wifi移植过程

我使用的nuc980型号为NUC980DK61YC,内核版本为"linux 4.4.115" ,以下过程是在自己单片机上移植的过程,仅供参考,不同配置环境可能会有不同的坑需要踩,希望会对各位小伙伴有帮助。 1.驱动添加与调整 注意&a…

[综述笔记]A Survey on Deep Learning for Neuroimaging-Based Brain Disorder Analysis

论文网址:Frontiers | A Survey on Deep Learning for Neuroimaging-Based Brain Disorder Analysis (frontiersin.org) 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论…

NET 自定义控件

如果添加 Category, 自定义控件,会放在杂项中

03-Java面试题八股文-----java基础——10题

41、HashMap 的长度为什么是 2 的 N 次方呢? 为了能让 HashMap 存数据和取数据的效率高,尽可能地减少 hash 值的碰撞,也就是说尽量把数据能均匀的分配,每个链表或者红黑树长度尽量相等。 我们首先可能会想到 % 取模的操作来实现。…

6 修改主机名和HOSTS文件

后期我们会配置多台服务器,那么每台服务器我们都会给定一个主机名,方便后期通过主机名进行访问。主机名的修改我们可以在安装操作系统时对其修改,如果忘记了,就可以修改配置文件完成,像后期我们进行虚拟机克隆后&#…

Unity Toggle与Toggle Group的妙用

Toggle与Toggle Group结合使用,妙处多多。 因为在同一Toggle Group内只有一个Toggle可以被选中,那么对于我们要创建单选按钮组、游戏的一些开关、暗夜模式、筛选不同显示内容等功能都非常好用。 比如我要实现通过点击不同按钮,从而筛选显示不同内容&am…

基于springboot的“漫画之家”系统

目录 背景 技术简介 系统简介 界面浏览 背景 随着科技的不断进步,计算机已经变成了人们日常生活和工作不可或缺的工具。在这样的环境下,互联网技术被广泛运用于各个领域,以提升工作和生活的效率,推动了网络信息技术的迅猛发展…

物联网和工业物联网的区别——青创智通

工业物联网解决方案-工业IOT-青创智通 物联网(IoT)和工业物联网(IIoT)作为现代科技的重要分支,正在逐渐渗透到我们的日常生活和工业生产中。它们的应用范围广泛,涵盖了从智能家居到自动化工厂的多个领域。…

基于SSM的土家风景文化管理平台(有报告)。Javaee项目。ssm项目。

演示视频: 基于SSM的土家风景文化管理平台(有报告)。Javaee项目。ssm项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spri…

python_BeautifulSoup爬取汽车评论数据

爬取的网站: 完整代码在文章末尾 https://koubei.16888.com/57233/0-0-0-2 使用方法: from bs4 import BeautifulSoup 拿到html后使用find_all()拿到文本数据,下图可见,数据标签为: content_text soup.find_all…

微信群发技巧有哪几种?

群发是指通过微信平台对特定受众进行大规模信息发布的过程,如节日祝福、活动促销等。随着科技的不断发展,群发的定义已不再仅限于手机信息群发或短信群发。如今,微信内置的群发功能也被广泛应用。 一、微信群发的操作步骤 1. 进入微信&…