教你轻松入门Linux下用gdb调试

       调试往往是很重要的,有时候甚至比敲出代码本身更重要,废话不多说,直接来看看在Linux下怎么利用gdb调试。

使用 vim test.c 命令 打开一个源文件test.c

然后按 i 进入编辑模式,输入代码,本篇文章就以写一个斐波那契数列函数为例子

程序的发布方式有两种:Debug模式和Release模式。

Linux gcc/g++默认使用Release模式。

要使用gdb调试,必须在源代码生成二进制程序的时候,加上-g选项。

关于Debug和Release的区别:https://blog.csdn.net/guaiguaihenguai/article/details/82014774

1、命令 gcc -g test.c 进行编译 ,记得一定要加 -g 选项,要不然没法调试

      命令gcc  -std=c99 -g test.c  ----- 表示以C99的标准来编译源文件test.c,因为vim默认使用c89的标准编译,定义变量必须在最前边,比如说在for循环

ls查看一下,会发现多了一个名为a.out的可执行文件  

2、命令 gdb a.out  ---- gdb+要调试的程序的程序名  表示开始调试该程序,回车就会进入调试模式

进入调试模式后,如果想要看源代码

3、敲list (也可以用l),回车,将会从main函数开始显示,如果想从某个函数开始显示,那么只要在list(或者l)后边加上该函数的函数名就可以了

想继续执行上一条指令,可以直接敲回车,就会自动执行上一条指令

 

4、加断点(breakpoint)使用命令 b 26 -----表示在26行加一个断点

5、利用命令 info  b 查看断点信息

6、使用run(或者r) 命令 开始调试

 

7、使用命令 s 可以让其一步一步执行(类似于VS编译器下的F11)

8、在调试过程中,想要知道一个变量的值 可以使用命令 print i ----表示打印变量 i 的值

9、还可以通过命令 whatis i  知道变量 i 的类型是什么

 

10、使用命令 bt 可以查看函数的调用栈

 

11、当你大概知道自己的函数的执行情况,想要结束掉该函数的话 可以使用命令 finish 

 

12、使用命令 n 表示让其一段一段执行(类似于VS编译器下的F10)

使用命令n 接着让程序往下继续调试,直到提示Program exited normally  表示程序已经运行结束了。

13、退出调试模式使用命令 quit 或者 q

 

gdb的简单调试就讲到 这里,相信大家跟着调试一遍,gdb的简单调试就学会了。

 

PS:如果程序崩掉,也就是出现段错误,其解决方法可参考博文:

http://m.blog.csdn.net/guaiguaihenguai/article/details/78701008

复制本链接选择打开

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值