目录
- 这篇文章将会介绍gdb以及一些常用的gdb调试指令;
gdb介绍
gdb是linux中的调试器,由于linux是命令行式的操作,所以要进行调试也一定是以命令行的方式进行,相比于win下vs等IDE的调试使用起来操作比较繁琐,但是程序调试的思路都是大致的。
但是在某些开发场景并没有设计专门的IDE,这种情况下是没有办法用IDE进行调试的,这个时候只能使用gdb调试了。
俗话说一名合格的程序员,大部分的时间都是在debug调试,可见熟悉gdb调试是至关重要的了!
进入gdb调试环境
- 创建mytest.c的源文件,并写入如下代码用于调试;
编译及运行结果:
进入gdb环境进行调试:
- 指令:gdb + 程序名称
但是再次版本下,我们发现输入gdb指令:l 0的时候,报错:
原因是默认情况下,我们在linux下使用gcc/g++默认生成的程序都是release版本,这种发布的版本是不带调试信息的,无法进行调试,是给用户使用的;
我们需要调试,就得编译的时候带选项-g告知编译器编译debug可调式版本的程序!
我们进一步观察能发现,release版本的成虚要比debug版本更小,因为优化,抹去了调试用的信息等:
指令学习
成功进入gdb调试环境并且能够调试了,我们介绍常用指令的学习
l(list)指令
l(list):显示出可执行程序内的代码,方便观察