Linux入门学习:Linux调试器gdb使用

1. 背景

程序的发布方式有两种,debug模式和release模式,debug是添加调试信息,release是取消调试信息, Linux gcc/g++出来的二进制程序,默认是release模式,要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项。debug版本的文件会比release版本的文件更大一些。

2.使用gdb一般流程

⭕编译指令添加-g选项
在这里插入图片描述
⭕ make之后,gdb 运行文件进入调试界面
在这里插入图片描述
l / list用于查看源代码
在这里插入图片描述
在这里插入图片描述
b / break用于设置断点

在这里插入图片描述
在这里插入图片描述

delete breakpoints n 删除序号为1的断点
在这里插入图片描述

序号的重置需要gdb结束运行。

r/run 运行,也就是我们在vs下的F5。

在这里插入图片描述

n/next 单步执行,s/step进入函数内部
在这里插入图片描述
在这里插入图片描述
display 变量名用于追踪变量,类似于监视窗口功能
在这里插入图片描述
在这里插入图片描述
q/quit退出gdb
在这里插入图片描述

3.常用指令

list/l 行号:显示源代码,接着上次的位置往下列,每次列10行。
list/l 函数名:列出某个函数的源代码。
r或run:运行程序。
n 或 next:单条执行。
s或step:进入函数调用
break(b) 行号:在某一行设置断点
break 函数名:在某个函数开头设置断点
info break :查看断点信息。
finish:执行到当前函数返回,然后挺下来等待命令
print§:打印表达式的值,通过表达式可以修改变量的值或者调用函数
p 变量:打印变量值。
set var:修改变量的值
continue(或c):从当前位置开始连续而非单步执行程序
run(或r):从开始连续而非单步执行程序
delete breakpoints:删除所有断点
delete breakpoints n:删除序号为n的断点
disable breakpoints:禁用断点
enable breakpoints:启用断点
info(或i) breakpoints:参看当前设置了哪些断点
display 变量名:跟踪查看一个变量,每次停下来都显示它的值
undisplay:取消对先前设置的那些变量的跟踪
until X行号:跳至X行
breaktrace(或bt):查看各级函数调用及参数
info(i) locals:查看当前栈帧局部变量的值
quit:退出gdb

本文就到这里,感谢你看到这里❤️❤️! 我知道一些人看文章喜欢静静看,不评论🤔,但是他会点赞😍,这样的人,帅气低调有内涵😎,美丽大方很优雅😊,明人不说暗话,要你手上的一个点赞😘!

希望你能从我的文章学到一点点的东西❤️❤️

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

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

相关文章

展会上想要留住俄罗斯客户,柯桥成人俄语培训

展品 экспонат 模型 макет 证明(书) свидетельство 预算 бюджет 确认订单 подтверждение заказа 缺点,毛病,缺陷 недостаток 退换 возвращать 更换 заменять 调整 урегулир…

2024好评的开放式耳机排行榜10强?四款开放式蓝牙耳机推荐

在2024年的耳机市场上,有不少的开放式耳机因其高性价比和多功能性而受到关注。这些耳机不仅音质出色,而且舒适度也很高,能够适应多种使用场景,无论是日常通勤、跑步运动还是在家办公,都很能满足使用者的需求。 虹觅 Fi…

CCRC-CDO首席数据官引领构建活数据引擎

在数字化浪潮的强劲推动下,数据已然成为企业不可或缺的宝贵资产,它不仅记录着历史的足迹,更指引着未来发展的方向。 随着大数据、人工智能、云计算等技术的迅猛发展,数据的潜力获得了前所未有的激发。 首席数据官(CD…

实习生上班摸鱼刷题,被开除了!

大家好,我是程序员鱼皮,之前分享过我们团队开发的程序员面试刷题工具 - 面试鸭,已经有 10 万多名同学在这里刷题了。 我们通过分析近期的系统用量发现,每天的 9 - 12 点、14 - 18 点,是刷题用户数的高峰: 这…

Sui Builder House: 新加坡的五大难忘时刻

新加坡Sui Builder House刚刚落幕,社区的参与热情空前高涨!活动现场充满了令人振奋的公告、有趣的互动活动,以及社区成员和行业领袖之间的热烈讨论。仅一天时间内,超过600位来自各个社区和行业的参与者齐聚新加坡,纷纷…

【后端开发】JavaEE初阶——计算机是如何工作的???

前言: 🌟🌟本期讲解计算机工作原理,希望能帮到屏幕前的你。 🌈上期博客在这里:【MySQL】MySQL中JDBC编程——MySQL驱动包安装——(超详解) 🌈感兴趣的小伙伴看一看小编主…

蓝队技能-应急响应篇Web内存马查杀JVM分析Class提取诊断反编译日志定性

知识点: 1、应急响应-Web内存马-定性&排查 2、应急响应-Web内存马-分析&日志 注:传统WEB类型的内存马只要网站重启后就清除了。 演示案例-蓝队技能-JAVA Web内存马-JVM分析&日志URL&内存查杀 0、环境搭建 参考地址:http…

fastadmin后台自定义按钮,并且刷新页面

效果图&#xff1a; index.html部分 <a href"javascript:;" class"btn btn-primary btn-refresh" title"{:__(Refresh)}" ><i class"fa fa-refresh"></i> </a>//自定义按钮<a href"javascript:;&qu…

无人机之4G模块的主要功能和优势

一、增强图传 在无人机飞行过程中&#xff0c;传统的图传方式可能会受到信号遮挡或干扰的影响&#xff0c;导致图像传输不稳定甚至中断。而4G模块通过结合4G网络技术&#xff0c;能够在原有图传技术的基础上提供增强的图传功能。当传统图传信号不佳时&#xff0c;无人机可以自动…

零基础入门:小白也能轻松掌握的AI大模型学习指南(含全套资源)

什么是AI大模型&#xff1f; AI大模型&#xff0c;即大规模预训练模型&#xff0c;是指拥有数亿乃至数百亿参数的深度学习模型&#xff0c;如BERT、GPT-3等。这些模型通过在互联网规模的数据集上进行自我学习&#xff0c;能捕捉到语言、图像、声音等多模态数据的复杂特征&…

红日药业携手实在智能,构建RPA数字员工平台满足业务一体化需求 | 实在RPA案例

近日&#xff0c;天津红日药业股份有限公司&#xff08;简称“红日药业”&#xff09;与实在智能达成合作&#xff0c;依托实在智能业内领先的AIRPA技术&#xff0c;红日药业着手构建企业数字员工平台&#xff0c;满足业务一体化需求&#xff0c;培育新质生产力&#xff0c;为企…

DrawingSpinUp:单个平面2D角色绘图的3D动画转换

【AI论文与新生技术】DrawingSpinUp&#xff1a;单个平面2D角色绘图的3D动画转换 DrawingSpinUp能够将简单的人物画变成三维动画。这个系统特别适合处理业余爱好者绘制的人物画&#xff0c;因为这些画作通常比较简化&#xff0c;而且风格多样。DrawingSpinUp通过一系列步骤&…

零基础玩转实在Agent -- 基础篇|实在Agent研究

前言 实在Agent是什么 实在Agent&#xff08;智能体&#xff09;是实在智能基于RPA和自研屏幕语义理解技术&#xff0c;结合最前沿的Al大模型打造的自动化智能体产品。 它能像朋友一样聊天&#xff0c;并通过对话的方式理解你的任务需求&#xff0c;自动规划任务的实现方式&…

文件上传js代码

大家好&#xff0c;很久没更新了&#xff0c;今天空了&#xff0c;记录一下文件上传js代码。(自己搭建的网站&#xff0c;演示学习一下这种漏洞&#xff0c;不要做违法的事情&#xff01;&#xff01;&#xff01;) 一般文件上传的话都是奔着getshell去的&#xff0c;但是一般…

【leetcode】字典 哈希表习题

1.两数之和&#xff08;查找表法-哈希表&#xff09; 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案&#xff0c;并且你不能使用两次…

新160个crackme - 060-snake

运行分析 需破解Name和Serial PE分析 32位&#xff0c;未知程序和壳 点击Scan/t按钮外部扫描&#xff0c;发现是C程序 静态分析&动态调试 ida搜索关键字符串&#xff0c;双击进入 发现无法反编译 选中该函数&#xff08;地址&#xff1a;401048 - 401172&#xff09;Edit -…

无人机之AI跟踪篇

无人机的AI识别技术依托于计算机视觉和深度学习技术&#xff0c;实现了对目标的快速精准识别&#xff0c;在多个领域展现出了巨大的应用潜力和价值。以下是对无人机AI识别技术的详细解析&#xff1a; 一、无人机AI识别算法的基础原理 无人机AI识别算法主要基于先进的计算机视觉…

celery

文章目录 celery1. celery的基本使用![请添加图片描述](https://i-blog.csdnimg.cn/direct/aa33d094580c4434a55644cd74e2a6c0.png)2. celery的进阶使用3. django-celery实现异步HTTP请求 celery Celery 是一个开源的分布式任务队列系统&#xff0c;它允许开发者将耗时的任务异…

Redhat 6,7,8系(复刻系列) 一键部署Oracle12c zip

Oracle12c前言 Oracle 12c是甲骨文公司推出的一款关系数据库管理系统,它引入了多项创新特性,如多租户架构、大数据处理和云部署,适用于企业级应用。以下是Oracle 12c的详细介绍: Oracle 12c的主要特点 高性能:通过多线程处理、自动优化等技术,提高了数据库的查询和处理…

基于STM32红外感应的自动迎客人语音控制系统设计

文章目录 前言资料获取设计介绍功能介绍设计程序具体实现截图设计获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师&#xff0c;一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对…