004 Linux 调试器gdb的使用

news2024/11/17 19:39:07

前言

本文将会向您介绍gdb的基础操作

引入

程序的发布方式有两种,debug模式和release模式
Linux gcc/g++出来的二进制程序,默认是release模式
要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项
以下是本文要示范的Makefile文件,在第二行中末尾加入-g选项
在这里插入图片描述
本文将会以一个进度条程序为例来讲解gdb的使用
在这里插入图片描述

基础操作

gdb 可执行程序
list/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行。

(当然您可以像我一样,在后面加上0,表示从头开始)
list/l 函数名:列出某个函数的源代码。

在这里插入图片描述

break(b) 行号:在某一行设置断点
break 函数名:在某个函数开头设置断点
在这里插入图片描述
run(或r):从开始连续而非单步执行程序
在这里插入图片描述
我们可以观察到下图已经触发了断点3
在这里插入图片描述
c:从一个断点直接运行到下一个断点处
在这里插入图片描述
breaktrace(或bt):查看各级函数调用及参数
在这里插入图片描述
d number(第一列的断点编号):删除某个断点
delete breakpoints:删除所有断点
delete breakpoints n:删除序号为n的断点
enable开启断点 、 disable 禁止断点
在这里插入图片描述
再次continue的时候,程序就结束了
在这里插入图片描述
n:逐过程,相当于VS下的F10
直接跨过Download函数
在这里插入图片描述
s:逐语句,相当于VS下的F11
在这里插入图片描述
display 变量名和变量的地址可以看到变量细节

undisplay 长显示条目编号,取消长显示

until X行号:跳至X行

finish:运行到当前函数的结尾

quit:退出gdb

小结

今天的分享就到这里啦,如果本文存在疏漏或错误的地方还请您能够指出!

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

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

相关文章

YOLOv5、YOLOv8改进:C3STR(Swin Transformer)

目录 1.介绍 2. YOLOv5、YOLOv8改进 2.1 common.py配置 2.2 yolo.py配置 2.3 yaml配置文件 1.介绍 视觉领域正在见证从 CNN 到 Transformers 的建模转变,纯 Transformer 架构在主要视频识别基准测试中达到了最高准确度。这些视频模型都建立在 Transformer 层之…

Solidity 小白教程:22. Call

Solidity 小白教程:22. Call 这一讲我们将介绍如何利用 Call 调用合约。 Call call 是address类型的低级成员函数,它用来与其他合约交互。它的返回值为**(bool, data),分别对应call**是否成功以及目标函数的返回值。 call是solidity官方推…

涛然自得周刊(第 10 期):搬到海岛生活是一种什么体验

作者:何一涛 日期:2023 年 9 月 24 日 涛然自得周刊主要精选作者阅读过的书影音内容,周末发布。历史周刊内容可以看这里。 影音 《德雷尔一家》是一部根据书籍《希腊三部曲》改编的英剧,共 4 季,每一季豆瓣评分都超…

[自然语言处理] 基于pycorrector实现文本纠错

文本纠错(Text Error Correction)技术旨在自动修正输入文本中的拼写、语法、标点符号等错误,以提高文本的准确性、通顺性和规范性。该技术可以通过自然语言处理技术实现,基于上下文和语言规则对文本进行分析和推断,发现…

使用香橙派学习 嵌入式数据库---SQLite

嵌入式数据库简介:SQLite & MySQL数据库 基于嵌入式的数据库主要有:SQLite,Firebird,Berkeley DB,eXtremeDB等 Firebird 是关系型数据库,功能强大,支持存储过程,SQL兼容等SQLi…

XCTF之新手Web题目

新手第一题:Training-WWW-Robots 图片提示: 解题流程: 具体操作:打开菜单-->Web开发者-->查看器(或者快捷键ctrlshiftc) robots.txt文件被网络爬虫使用,以检查它们是否被允许抓取和索引…

普通人也能秒变电子画册制作达人

你是不是觉得制作电子画册很难?需要专业的设计知识和软件?今天,小编告诉你,制作电子画册并不难!只要掌握一些简单技巧,你也可以轻松制精美的电子画册。下面,让我们一起来看看,如何从…

以太网协议

以太网 以太网协议格式🎨目的地址,源地址mac地址格式 以太网协议格式🎨 目的地址,源地址 此处的地址,叫做mac地址(物理地址),长度是6个字节 mac地址的作用也是用来区分不同的主机 IP地址的长度是4字节 IP地址负责网络层(整体)转发,mac地址负责数据链路层…

【斗罗2】霍雨浩实力被否定,超级斗罗眼光被嘲,魂导院成功捡漏

Hello,小伙伴们,我是小郑继续为大家深度解析斗罗大陆2绝世唐门。 最新一集《绝世唐门》已经更新,相信不少小伙伴和小郑一样都已经先睹为快,本集虽然是过渡剧情,但本身还是有不少有意思的剧情,作为过渡文戏也算是可圈可…

服务器挂机策略

title: “服务器挂机” createTime: 2022-05-11T11:05:4308:00 updateTime: 2022-05-11T11:05:4308:00 draft: false author: “name” tags: [“服务器”] categories: [“服务器”] description: “测试的” 服务器挂机策略 地址:pve.dongshanxia.top:35000用户…

Leetcode 451. 根据字符出现频率排序

文章目录 题目代码&#xff08;9.24 首刷自解&#xff09; 题目 Leetcode 451. 根据字符出现频率排序 代码&#xff08;9.24 首刷自解&#xff09; class Solution { public:string frequencySort(string s) {unordered_map<char, int> mp;for(char&c : s)mp[c];au…

SQL 基础知识梳理(一)- 数据库与 SQL

目录 一、Whats 数据库二、数据库结构三、SQL 概要四、创建数据库与表五、更新和删除表 一、What’s 数据库 1.数据库&#xff08;Database&#xff0c;DB&#xff09;&#xff1a;将大量数据保存起来&#xff0c;通过计算机加工而成的可以进行高效访问的数据集合。如&#xf…

三、支持向量机算法(SVC,Support Vector Classification)(有监督学习)

支持向量机Support Vector Machine&#xff0c;就是所谓的SVM&#xff0c;它指的是一系列的机器学习算法&#xff0c;根据解决问题的不同&#xff0c;分为SVC(分类)和SVR(回归) SVC&#xff0c;Support Vector Classification&#xff0c;其本质也是支持向量机support vector&…

Visopsys 小型操作系统

Visopsys 是一个 PC 机的操作系统&#xff0c;系统小型、快速而且开源。有着丰富的图形界面、抢先式多任务机制以及支持虚拟内存。Visopsys 视图兼容很多操作系统&#xff0c;但并不是他们的克隆版本。Visopsys 0.92 现已发布&#xff0c;此维护版本引入了多任务处理程序、文件…

js逆向-某税务网站chinatax分析

目录 一、如图网站二、研究登陆页反爬参数1、datagram参数2、请求接口关系 三、研究详情页反爬参数1、urlyzm与ruuid与x-b3-spanid参数2、los28199参数3、lzkqow23819参数4、jmbw参数 四、最终结果 一、如图网站 二、研究登陆页反爬参数 1、datagram参数 很多接口使用到的dat…

PyCharm 手动下载插件

插件模块一直加载失败&#xff0c;报错信息&#xff1a; Marketplace plugins are not loaded. Check the internet connection and refresh. 尝试了以下方法&#xff0c;均告失败&#xff1a; pip 换源Manage Plugin Repositories...HTTP 代理设置...关闭三个防火墙 最后选…

Spring面试题5:面试官:为什么说Spring是一个容器?如何给Spring容器提供配置元数据?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:为什么说Spring是一个容器? Spring被称为一个容器,是因为它提供了一个运行环境和管理机制,用于管理应用程序中的对象的生命周期和依赖关系。 …

C#中对泛型集合元素使用List.Sort()方法排序

啊&#xff01;终于整明白了&#xff01; 今天拿出一点时间研究了一下C#的List<T>如何排序&#xff0c;基本上整明白了。很多场景下&#xff0c;用这个排序还是很方便的。 //构造一个类 public class mth{//编号private string id;public string Id{get { return id; …

Python四大数据结构整理

Python四大数据结构整理 列表列表本身的基础造作操作列表的增删改查列表总结 字典字典的创建获取字典视图遍历字典字典生成式 元组与集合元组的创建元组的获取集合集合的创建方式集合的相关操作 对比归纳总结 列表 列表的特点   1.列表元素按顺序有序排放   2.索引映射唯一…

Linux---su:鉴定故障

问题来源:在使用xshell操作Linux命令时,切换root权限报错 可能是未设置密码:输入 sudo password 重新设置一下密码即可 本人犯的错: 因为在Linux下输入密码是没有显示的,然后我的键盘num键没开!!!(也就是输入数字开关的键盘),导致我认为我的密码输进去了,给我整懵逼了&#x…