Linux之基础开发工具gdb调试器的使用(三)

在这里插入图片描述


📘北尘_个人主页

🌎个人专栏:《Linux操作系统》《经典算法试题 》《C++》 《数据结构与算法》

☀️走在路上,不忘来时的初心


一、Linux调试器-gdb使用

1、安装gdb

yum install -y gdb

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

2、背景

  1. 程序的发布方式有两种,debug模式和release模式
  2. Linux gcc/g++出来的二进制程序,默认是release模式,release模式下无法调试
  3. 要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项

release模式下的gdb演示,无法调试

在这里插入图片描述

加上 -g 选项,显然成功

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

3、Debug和release

Debug形成的可执行程序会给我们增加调试信息,内存变大,而release形成的可执行程序会给我们去掉调试信息,内存变小。
而用户不需要调试信息,他们需要更快的下载和安装,所以有了Dubug和release两个版本

4、区分Debug和release

release下的可执行程序

在这里插入图片描述>Debug下的可执行程序

在这里插入图片描述

最直观区分

在这里插入图片描述


二、Linux调试器-gdb命令演示

1、显示指定行之后的代码(自动记录最后一条指令)

想显示更多代码需 l+行号 然后一直回车
在这里插入图片描述

2、断点

1、打印断点

打印断点一共三种方式,接下来一一介绍。

b+行号

在这里插入图片描述

b+函数名+行号
在这里插入图片描述

b+文件名+行号(适用于多文件下)

在这里插入图片描述

2、查看断点

在这里插入图片描述

3、删除断点

注意在删除断点中,显示的是编号,而不是行号。
在这里插入图片描述

4、使能(禁用/开启)断点

禁用

在这里插入图片描述

开启

在这里插入图片描述

3、直接运行结束

在这里插入图片描述

4、逐过程(f10)、逐语句(f11)

逐过程

在这里插入图片描述

逐语句

在这里插入图片描述

5、显示内容

只显示一次

在这里插入图片描述

常显示

在这里插入图片描述

取消常显示

在这里插入图片描述

6、范围查找

切换下一个断点

在这里插入图片描述

将函数运行结束

在这里插入图片描述

在一个指定范围内,运行到指定行

在这里插入图片描述

7、查看调用堆栈

在这里插入图片描述


总结

在这里插入图片描述

在这里插入图片描述

  • 30
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 25
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北尘_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值