linux系统编程下的GDB调试

一、gdb的安装

1、检查自己是否安装了gdb 可以直接检查版本号,没有就是没安装

gdb --version

 2、安装自己的gdb      sudo apt install gdb

二、gdb的使用

1、指令学习

注:()括号里面是该指令的全称

1、l(list) 行号/函数名 —— 显示对应的code,每次10行

l 1:就是从第一行列出10行代码,如果想要更多的代码,直接enter就行

2、r(run) —— F5【无断点直接运行、有断点从第一个断点处开始运行】(运行 / 调试)

3、                       b(breakpoint) + 行号 —— 在那一行打断点(也可以加一个条件  if i==1)

        b 源文件:函数名 —— 在该函数的第一行打上断点

        b 源文件:行号 —— 在该源文件中的这行加上一个断点吧
        info b —— 查看断点的信息

(gdb) info breakpoints
Num     Type           Disp Enb Address    What
1       breakpoint     keep y   0x0804856a in main at test.c:10
2       breakpoint     keep y   0x0804857b in main at test.c:154

4、d + 当前要删除断点的编号 —— 删除一个断点【不可以d + 行号】//那么这里怎么确定编号呢,当然是info b  找到所有断点的信息,前面就会有编号

d + breakpoints —— 删除所有的断点

5、n(next) —— 逐过程【相当于F10,为了查找是哪个函数出错了】

  s(step) —— 逐语句【相当于F11,一次走一条代码,可进入函数,同样的库函数也会进入】

6、c(continue) —— 从一个断点处,直接运行至下一个断点处【VS下不断按F5】

总的来说这些是比较常见的,记住这些,对一般的代码调试没有什么问题,如果有很多的了解,可以到鸟哥的私房菜里,有更加详细的介绍。

三、总结

而对于gcc/g++而言默认生成的可执行程序就是【Release】版本的,因此我们要加上一个-g命令选项使其在make之后生成一个【DeBug】版本的可执行程序,这样就可以进行调试了

我们在gcc的时候就需要gcc -g test.c -o test  

调试的时候:gdb test  才可以完成。否则的话是不能完成调试的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值