当前位置: 首页 > news >正文

GDB调试快速入门

什么是GDB:

        GDB - - - (GNU symbolic debugger)是Linux平台下最常用的一款程序调试器。

自己的Linux是否安装GDB?

        一般来说,使用Ubuntu的话,系统就会自带的有GDB调试器的

命令窗口输入如下命令可以查看是否安装了gdb:

gdb -v

结果:

没有安装的话会出现如下:

[stu@localhost Desktop]$ gdb -v
bash: gdb: command not found

 具体的安装过程,网上有很多的教程,这里不再赘述。

快速上手使用

示例1:正常代码调试分析

#include <stdio.h>int main (){unsigned long long int n, sum;n = 1;sum = 0;while (n <= 100){sum = sum + n;n = n + 1;}return 0;
}

编译:

g++ -o main main10.c -g

-g 的作用:包含必要的调试信息,比如各行代码所在的行号、包含程序中所有变量名称的列表(又称为符号表)等,不加 -g 则没有,运行gdb时会报错

开始调试:

gdb main

 输出如下:

发现会有很多的免责声明,可以通过 -q 选项进行屏蔽

gdb main -q

 这下就清爽多了

GBD常用命令:

示例2:崩溃代码调试分析

#include "stdio.h"int main(){int *b = 0;*b = 10;printf("******** b = %d ************ ",*b);
}
g++ -o main main10.c -g

直接运行会有如下结果:

可以看到箭头3处打印出来的b值为空,因此出现了段错误,进而导致程崩溃。

相关文章:

GDB调试快速入门

什么是GDB&#xff1a; GDB - - - (GNU symbolic debugger)是Linux平台下最常用的一款程序调试器。 自己的Linux是否安装GDB? 一般来说&#xff0c;使用Ubuntu的话&#xff0c;系统就会自带的有GDB调试器的 命令窗口输入如下命令可以查看是否安装了gdb&#xff1a; gdb -v …...

Vim一次复制,多次粘贴

我们平常在使用Vim时候&#xff0c;通过viwy或者yy等复制操作之后&#xff0c;p操作粘贴的时候&#xff0c;只能粘贴一次&#xff0c;想要粘贴多次怎么办&#xff1f; 解决方案&#xff1a;在使用p的是时候使用"0p&#xff0c;这样就能无限制的一直粘贴了。 可是&#xff…...

如何修改Win11上的默认程序?

在Win10之前&#xff0c;更改特定文件格式的默认程序很简单&#xff0c;但在Win11发布之后&#xff0c;很多用户都不清楚关于Win11的修改默认程序的操作步骤&#xff0c;接下来我们就一起来看看吧&#xff0c;希望可以帮助到大家。 步骤如下&#xff1a; 一、如何更改Windows 1…...

安装Linux虚拟机和Hadoop平台教程汇总及踩坑总结

&#x1f4cd;主要内容介绍安装Linux虚拟机、ubuntu系统、安装hadoop三个环节的教程链接介绍及本机与虚拟机的FTP传输教程总结&#xff08;直接找hadoop安装环节的5.filezilla传输文件&#xff09;新鲜出炉的踩坑总结和填坑指南安装Linux虚拟机和ubuntu系统一、材料和工具1、下…...

Shell脚本的使用和介绍

为了方便以后工作使用和复习,吐血整理记录一下学习shell脚本的笔记,看这篇文章需要对linux系统熟悉,希望对大家有所帮助! 文章目录 目录 文章目录 一、什么是shell? 为什么要学习和使用shell? 二、shell的分类...

机械学习 - 基础概念 - scikit-learn - 数据预处理 - 1

目录安装 scikit-learn术语理解1. 特征&#xff08;feature &#xff09;和样本&#xff08; sample / demo&#xff09;的区别&#xff1f;2. 关于模型的概念一、机械学习概念1. 监督学习总结&#xff1a;2. 非监督学习总结&#xff1a;3. 强化学习总结&#xff1a;三种学习的…...

OLCNE cluster 配置 NFS Storage(英文)

OLCNE cluster 配置 NFS Storage&#xff08;英文&#xff09;Create an OLCNE cluster.Create an NFS server.a. Install the NFS utility package on the server and client instances.b. Create a directory for your shared files. Make sure that the server does not hav…...

RabbitMQ高级特性

RabbitMQ高级特性 消息可靠性投递 Consumer ACK 消费端限流 TTL 死信队列 延迟队列 日志与监控 消息可靠性分析与追踪 管理 消息可靠性投递 在使用 RabbitMQ 的时候&#xff0c;作为消息发送方希望杜绝任何消息丢失或者投递失败场景。RabbitMQ 为我们提供了两种方式用来控制…...

利用Dockerfile开发定制镜像实战.

Dockerfile的原理 dockerfile是一种文本格式的文件&#xff0c;用于描述如何构建Docker镜像。在Dockerfile中&#xff0c;我们可以定义基础镜像、安装依赖、添加文件等操作&#xff0c;最终生成一个可以直接运行的容器镜像。 Dockerfile的原理可以分为以下几个步骤&#xff1a…...

PyInstaller 将DLL文件打包进exe

PyInstaller 将DLL文件打包进exe方法1&#xff1a;通过--add-data命令方法2&#xff1a;通过修改 .spec扩展&#xff1a;博主热门文章推荐&#xff1a;方法1&#xff1a;通过–add-data命令 注意&#xff1a;这里 dll末尾添加的.为当前目录&#xff0c;则该dll要放到main.py同一…...

【JVM篇2】垃圾回收机制

目录 一、GC的作用 申请变量的时机&销毁变量的时机 内存泄漏 内存溢出(oom) 垃圾回收的劣势 二、GC的工作过程 回收垃圾的过程 第一阶段&#xff1a;找垃圾/判定垃圾 方案1&#xff1a;基于引用计数(非Java语言) 引用计数方式的缺陷 方案2&#xff1a;可达性分析…...

LeetCode598. 范围求和 II(python)

题目 给你一个 m x n 的矩阵 M &#xff0c;初始化时所有的 0 和一个操作数组 op &#xff0c;其中 ops[i] [ai, bi] 意味着当所有的 0 < x < ai 和 0 < y < bi 时&#xff0c; M[x][y] 应该加 1。 提示: 1 < m, n < 4 * 104 0 < ops.length < 104 o…...

观察者模式与发布订阅模式

前言 我的任督二脉终于被打通了&#xff0c;现在该你了 区别 观察者模式 就2个角色&#xff1a;观察者和被观察者&#xff08;重要&#xff09;明确知道状态源&#xff0c;明确知道对方是谁一对多关系 发布订阅模式 有3个角色&#xff1a;发布者&#xff0c;订阅者和发布订阅…...

磨金石教育摄影技能干货分享|烟花三月下扬州,是时候安排了!

人间三月最柔情&#xff0c;杨柳依依水波横。三月的风将要吹来&#xff0c;春天的门正式打开。对中国人来说&#xff0c;古往今来&#xff0c;赏春最好的地方是江南。人人都说江南好&#xff0c;可是江南哪里好呢&#xff1f;古人在这方面早就给出了答案&#xff1a;故人西辞黄…...

Kafka 消费组位移

Kafka 消费组位移消费者 API命令行Kafka : 基于日志结构&#xff08;log-based&#xff09;的消息引擎 消费消息时&#xff0c;只是从磁盘文件上读取数据&#xff0c;不会删除消息数据位移数据能由消费者控制&#xff0c;能很容易修改位移的值&#xff0c;实现重复消费历史数据…...

Python|数学|贪心|数组|动态规划|单选记录:实现保留3位有效数字(四舍六入五成双规则)|用Python来创造一个提示用户输入数字的乘法表|最小路径和

1、实现保留3位有效数字&#xff08;四舍六入五成双规则&#xff09;&#xff08;数学&#xff0c;算法&#xff09; 贡献者&#xff1a;weixin_45782673 输入&#xff1a;1234 输出&#xff1a;1234 12 12.0 4 4.00 0.2 0.200 0.32 0.320 1.3 1.30 1.235 1.24 1.245 1.24 1.…...

【MySQL】MySQL的索引

目录 介绍 索引的分类 索引的操作-创建索引-单列索引-普通索引 格式 操作 索引的操作-创建索引-单列索引-唯一索引 索引的操作-创建索引-单列索引-主键索引 索引的操作-创建索引-组合索引 索引的操作-全文索引 索引的操作-空间索引 索引的验证 索引的特点 介绍…...

弱监督实例分割 Box-supervised Instance Segmentation with Level Set Evolution 论文笔记

弱监督实例分割 Box-supervised Instance Segmentation with Level Set Evolution 论文笔记一、Abstract二、引言三、相关工作3.1 基于 Box 的实例分割3.2 基于层级的分割四、提出的方法4.1 图像分割中的层级模型4.2 基于 Box 的实例分割在 Bounding Box 内的层级进化输入的数据…...

Springboot是什么

目录 为什么会要用springboot 1、之前 2、现在 springboot优点 springboot四大核心 自动装配介绍 1、自动装配作用是什么 2、自动装配原理 springboot starter是什么 1、starter作用 2、比如&#xff1a;我们想搭建java web框架 3、starter原理 SpringBootApplica…...

LeetCode 134. 加油站(函数图像法 / 贪心)

题目&#xff1a; 链接&#xff1a;LeetCode 134. 加油站 难度&#xff1a;中等 在一条环路上有 n 个加油站&#xff0c;其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车&#xff0c;从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中…...

Icarus Verilog终极指南:3分钟掌握开源Verilog仿真工具

Icarus Verilog终极指南&#xff1a;3分钟掌握开源Verilog仿真工具 【免费下载链接】iverilog Icarus Verilog 项目地址: https://gitcode.com/gh_mirrors/iv/iverilog 你是否正在寻找一个完全免费、跨平台的Verilog仿真解决方案&#xff1f;Icarus Verilog&#xff08;…...

HC32F460移植指南:除了代码,你还需要搞定Keil、J-Flash和驱动库这三大件

HC32F460开发环境搭建实战&#xff1a;从工具链配置到驱动库迁移 第一次拿到华大HC32F460开发板时&#xff0c;我对着Keil里找不到的芯片型号和一堆陌生的驱动库文件陷入了沉思。与STM32生态相比&#xff0c;华大MCU的开发环境搭建确实存在不少"坑点"。本文将分享一套…...

LNG船BOG再液化系统流程优化与动态蒸发率控制【附模型】

✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、EI、SCI写作与指导&#xff0c;毕业论文、期刊论文经验交流。 ✅ 专业定制毕设、代码 ✅如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;液氮预冷BOG缓冲再液化系统流程设计与Aspen HYSYS建模…...

开源AI教练Sage Coach:基于提示词工程的认知引导系统设计与实践

1. 项目概述&#xff1a;当AI成为你的专属人生教练凌晨三点&#xff0c;创业第三年&#xff0c;账上资金只够撑两个月&#xff0c;合伙人刚刚离开。这不是电影情节&#xff0c;而是许多创业者、职场人乃至普通人可能遭遇的真实困境。在那个时刻&#xff0c;打开终端&#xff0c…...

AI写专著全攻略:从构思到完稿,快速生成20万字专著

学术专著写作困境与AI工具解决方案 学术专著的生命力源于其逻辑的严谨性&#xff0c;但在写作过程中&#xff0c;逻辑论证往往是最容易出现问题的部分。专著的写作必须围绕核心观点展开系统的论证&#xff0c;要不仅深入阐述每一个论点&#xff0c;还需要应对来自不同学派的争…...

JACC Cardiovasc Imaging(IF=15.2)中国医学科学院阜外医院放射科赵世华教授等团队:连续心肌纤维化评估预测肥厚型心肌病患者预后

01文献学习今天分享的文献是由中国医学科学院阜外医院放射科赵世华教授等团队于2026年2月在《JACC: Cardiovascular Imaging》&#xff08;中科院1区top&#xff0c;IF15.2&#xff09;上发表的研究“Serial Myocardial Fibrosis Assessments Predict Outcomes in Patients Wit…...

3分钟极速获取百度网盘提取码:开源工具的终极使用指南

3分钟极速获取百度网盘提取码&#xff1a;开源工具的终极使用指南 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘分享链接的提取码而烦恼吗&#xff1f;每次看到那个小小的输入框&#xff0c;是不是感觉宝贵的…...

开源技能学习资源聚合项目SkillPort:构建个人与团队知识库的实践指南

1. 项目概述&#xff1a;一个技能提升的“私人图书馆”最近在整理自己的学习资料库时&#xff0c;发现了一个挺有意思的项目&#xff0c;叫gotalab/skillport。乍一看这个名字&#xff0c;可能会联想到某个商业学习平台&#xff0c;但实际上&#xff0c;这是一个由开发者社区构…...

Pikachu 靶场 XSS 通关笔记:从反射型到盲打与过滤绕过

目录 一、基础 XSS 类型 1. 反射型 XSS (GET)2. 反射型 XSS (POST)3. 存储型 XSS4. DOM 型 XSS5. DOM 型 XSS-x 二、进阶 XSS 场景 6. XSS 之盲打 (Blind XSS)7. XSS 之过滤8. XSS 之 htmlspecialchars9. XSS 之 href 输出10. XSS 之 JS 输出 三、XSS 绕过速查表 四、Pikach…...

Godot 4中构建真实水体渲染:从PBR原理到性能优化实践

1. 项目概述&#xff1a;从像素到波光&#xff0c;在Godot中构建真实水体如果你正在用Godot引擎开发一款开放世界游戏、一个宁静的模拟场景&#xff0c;或者任何需要水体表现的项目&#xff0c;那么“水”的质量几乎直接决定了场景的沉浸感上限。静态的、像果冻一样的平面贴图早…...