Linux调试器 -- gdb最基本的使用

0、如何看待gdb(调试器)?

  • 对于调试器的态度
    • 会操作gdb,知道怎么使用它
    • 习惯其他野路子能方便解决也可以,没有哪种一定好或不好

1、背景认识

  • gcc && g++默认形成的可执行程序时release的,故无法直接被调试
    • gdb 可执行程序文件名会出现:no debugging symbols found
    • 形成debug版本的可执行程序gcc mytest.c -o mytest-debug -g
      • 区分release版本和的debug版本:
        • ①debug版本文件大小比release大
        • ②读取可执行程序数据信息:readelf -S mytest-debug | grep -i debug
          • -S:读取各个段
          • grep -i debug:检索出所有有关debug的文件
            在这里插入图片描述

2、具体基本的使用操作

  • 进入gdb:gdb 可执行程序文件名
  • 退出gdb:(gdb) quit
    • gdb会记录最近一条命令,如果命令无变化,可以直接回车
  • r:开始调试,若没有设置断点,就直接运行结束
  • b 行数:给特定的行号打断点
  • info b:查看所有断点(包括断点编号)
  • d 断点编号:删除断点
  • n:(next)逐过程,等同于vs中的F10
    • 若中途想看某处的值,可通过:p result(变量)
  • p 变量名:打印变量内容
  • s:逐语句,F11
  • bt:查看当前的调用堆栈
  • finish:将当前函数跑完,就停下来
  • display:设置长显示
  • undisplay:取消长显示
  • until:跳转到指定行
  • c:运行 至下一个断点处停下来
  • disable/enable 断点的编号:使能(关闭和打开)断点

祝大家学习愉快 : )

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值