Linux下的常用工具(三)调试器 gdb

28 篇文章 0 订阅
11 篇文章 0 订阅

调试工具

    在我们编写完程序之后,往往很难一次就实现我们所要实现的功能,特别是在进行一些大的程序的编写以及复杂的逻辑运算上,这时便需要一系列的调试过程,观察其运行状态发现出现问题的地方,这里我们主要使用gdb调试工具。
要点一
    调试程序之前必须保证生成的是一个debug版本的程序,gcc默认生成的可执行文件是release版,我们可以使用 gcc -g +file±o+file.exe 命令生成debug文件。
[在Linux下可执行程序分为两大类,一是debug调试版,不对代码进行优化并且加入程序调试信息;二是release发布版,不包含调试信息,并且会对代码进行优化。]
要点二
gdb常用调试指令

流程控制
1. gdb +文件(debug版本) :调试命令
2. run :直接运行程序,简写 r
3. start:开始逐步调试。
4. list: 查看调试行附近代码 简写 l。 【示例】:list code.c:12 查看第十二行附近代码。
5. next: 下一步,逐过程调试,遇到函数直接运行完毕,简写为 n
6. step: 下一步,逐语句调试,遇到函数进入函数中逐语句调试执行,简写 s
7. until: 直接运行到指定的位置。  【示例】until code.c:12 直接运行到12行。
8. continue: 从当前位置继续运行,直到执行完毕或者遇到断点。简写 c
9. break: 对文件指定行打断点。简写 b 【示例1】break code.exe:6 给程序的第六行打断点;   【示例2】break function_name 直接给函数第一行打断点。
10. info break 查看断点信息,简写 ib
11. delete 删除断点 ,简写 d【使用格式 】delete + 断点ID
12. watch 变量监控点,当变量发生改变时停下来 【使用格式】watch+变量名称

内存控制
1. print: 查看或设置变量内容,简写为 p【使用格式】print +变量名 或者 print 变量名=变量值
2. backtrace: 查看函数调用栈,通常用来检测程序运行时的崩溃位置。简写 bt ,此时栈顶函数的位置就是程序出错的位置。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值