Linux环境下gdb程序调试

  • 这篇文章将会介绍gdb以及一些常用的gdb调试指令;

gdb介绍

gdb是linux中的调试器,由于linux是命令行式的操作,所以要进行调试也一定是以命令行的方式进行,相比于win下vs等IDE的调试使用起来操作比较繁琐,但是程序调试的思路都是大致的。

但是在某些开发场景并没有设计专门的IDE,这种情况下是没有办法用IDE进行调试的,这个时候只能使用gdb调试了。

俗话说一名合格的程序员,大部分的时间都是在debug调试,可见熟悉gdb调试是至关重要的了!


进入gdb调试环境

  1. 创建mytest.c的源文件,并写入如下代码用于调试;

在这里插入图片描述

编译及运行结果:

在这里插入图片描述

进入gdb环境进行调试:

  • 指令:gdb + 程序名称

在这里插入图片描述

但是再次版本下,我们发现输入gdb指令:l 0的时候,报错:

在这里插入图片描述

原因是默认情况下,我们在linux下使用gcc/g++默认生成的程序都是release版本,这种发布的版本是不带调试信息的,无法进行调试,是给用户使用的;

我们需要调试,就得编译的时候带选项-g告知编译器编译debug可调式版本的程序!
在这里插入图片描述

我们进一步观察能发现,release版本的成虚要比debug版本更小,因为优化,抹去了调试用的信息等:


指令学习

成功进入gdb调试环境并且能够调试了,我们介绍常用指令的学习

l(list)指令

l(list):显示出可执行程序内的代码,方便观察

评论 77
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我是大帅哥121

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

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

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

打赏作者

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

抵扣说明:

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

余额充值