
需要云服务器等云产品来学习Linux的同学可以移步/-->腾讯云<--/-->阿里云<--/-->华为云<--/官网,轻量型云服务器低至112元/年,新用户首次下单享超低折扣。
目录
2.3显示断点/禁用断点/开启断点:info b指令/disable指令/enable指令
2.12长期监视/取消监视变量的值:display指令/undisplay指令
gdb是Linux中的调试器。用于debug版本代码的调试
sudo yum install gdb
gdb debug版可执行文件
因为Linux中生成的可执行程序默认是release版本,是不带debug调试信息的。
只有debug版可以被调试,那么我们在编译的时候需要加上-g选项,这样生成的可执行程序就是debug版。
我们可以使用readelf指令查看ELF格式的文件信息:

可以发现debug版本中有debug信息,这也是debug版比release版体积大的原因。
因为gdb的l指令并不是从第一行开始显示,如果想从第一行开始显示,可以输入l 0,这样就会在屏幕上显示10行代码。
gdb中会记忆上次输入的指令,按下回车键即可执行上一次的指令。
b 18
b18表示在第18行设置断点。

info b指令会显示出所有的断点。Enb表示断点的状态,y表示断点正常使用,n表示断点已被禁用。

想要删除哪个断点不是看这个断点在代码中的行号,而是在断点列表的编号。这里要删除第2个断点,直接d 2即可。
执行代码后会在断点处停下。
就是vs中的F10。
就是vs中的F11。
/
/
finish可以挨个函数跑一遍,先粗略的确定是哪个函数的问题。
p 变量名
临时查看变量的值。
监视:


因为15行是空行所以跳到了第16行。
需要在当前函数使用,不能乱跳转。
set var i=50
修改i为50。
显示当前函数内的临时变量。