【Linux】调试工具gdb

目录

前言

一、前情了解

二、gdb常用命令

1.基本指令

2.断点

3.调试过程

4.查看内容


前言

gdb是Linux环境下了一个调试工具,在代码运行出现问题时,我们可以通过它来进行调试,找出问题的所在。本文来带大家来了解一下gdb的使用方法。

一、前情了解

在使用gdb之前,代码要用gcc进行编译。编译之后得到的可执行文件才能使用gdb来调试。但是要注意,gcc要加上”-g“这个选项,从而得到debug版本的可执行程序,这种版本的程序中包含着调试信息。由于包含调试信息,所以debug版本的可执行程序较大。如下图所示:

 我可以通过如下指令来查看文件信息:

readelf -S 
# readelf用来查看ELF格式的文件信息,常见的文件如在Linux上的可执行文件
# -S用来读取代码的各个段

release版本的查询不到调试信息,但是debug版本的可以查到。入下图:

 

二、gdb常用命令

1.基本指令

  • gdb + 文件命:对此文件开始调试
  • quit:退出gdb
  • l + 行号:显示源代码,接着上次的位置向下,每次10行

注:gdb会记录最近一条命令,如果下一条命令和上一条相同,直接回车即可 

2.断点

用vs中调试的按键对比:

  • b + 行号:给这一行打上断点
  • info + b:查看当前已有的断点
  • d + 断点编号(通过”info + b“来查看):删除断点
  • r(F5):开始调试,转跳到第一个断点,如果没有断点,调试直接结束
  • c(多次F5):跳到下一个断点出停下来
  • disable / enable + 断点编号:关闭 / 打开断点

3.调试过程

  • n(F10):逐过程调试
  • s(F11):逐语句调试
  • finish:跑完当前函数就停下来
  • until + 行号:转跳到指定行(不建议使用)
  • bt:查看当前调用的堆栈

4.查看内容

  • p + 变量名:打印变量的内容
  • display + 变量名:此变量常显示
  • undisplay + 变量编号:此编号的变量取消常显示
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值