gdb 简单使用

如果让我用最简单的话形容一下高gdb, 那我觉得“强大”两个字就足矣了。废话少说,上干货。

在应用层开发程序,有很多调试工具可以选择,各种环境有各自的工具帮助开发人员定位问题以解决问题,但在linux中,尤其是嵌入式开发中,gdb 就是比较出名的调试工具了,为什么呢,因为它强大嘛!

gdb简介:
最牛逼的UNIX下的程序调试工具,没有之一。可以动态改变程序运行环境,能够随心所欲的控制程序的运行及查看程序的一切,对,就是一切。
通过gdb命令行,我们可以查看文件清单,管理断点,查看数据,变量检查赋值,单步执行等各种各样的功能。

要注意说明的是,gdb使用的前提是,在贬义的时候一定要在编译选项中使用 -g 参数。

命令简介:
gdb通过一些列指令来实现其功能,下面介绍一些常用的gdb指令。

  1. list 查看源代码
    list xxx 查看第xxx行的代码
    list +n 查看当前行的后面n行代码
    list - n 查看当前行的前面n行代码
    list function 查看function函数的代码
  2. 运行程序
    gdb binFile 加载binFile二进制文件
    set args 设置运行参数
    r (run) 运行该二进制文件
  3. 显示数据
    p (print) vals 打印变量vals的值
    p *vals 查看其他复杂变量的值, 包括数组,指针等
    whatis val 查看val变量的类型
  4. 断点管理
    b (break) lineNum 在第lineNum处设置断点
    b functionname 在函数functionName处设置断点
    b filename:line-numbe 在某个文件的特定行设置断点
    b line-or-function if expr 通过条件变量设置断点 eg:b 123 if val == 2
    info break 查看所有的断点信息
    delete breakpoint 删除所有断点
    delete breakpoint 1 删除断点1
    disable breakpoint 1 过滤断点1
    enable breakpoint 1 使能断点1
  5. 函数执行
    n (next) 单步执行该程序

一般来说,作为程序开发人员来说,我们使用最多的就是断点设置以及变量查看功能,至于其他基础功能,只是更好的为这两个基本功能增强而已。

这个工具只是帮助开发人员定位非语法问题而已。入门比较简单,如果想用到其强大的功能,可以参考一下其他资料,加深一下学习。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我若成精

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值