GDB调试常用命令

GDB调试常用命令

  • gdb gdbtest --加载可执行程序

  • r --run,运行,可以带参数

  • set args 参数1 参数2 设置参数

    • set args 是使用gdb读取可调试文件符号后,再使用的命令

      gdb gdbtest   # 先gdb读取可调式文件的符号
      set args [arg1] [arg2]
      
    • 如果不想分两步操作,可以在gdb命令后,加--args

      gdb --args gdbtest [arg1] [arg2]
      
  • i b --info break,断点信息

  • b 3 --break 3,第3行下断点

  • b main --main函数第一行下断点

  • b other_c:fun1 --文件other_c的fun1函数第一行下断点

  • b 120 --在120行下断点

  • clear --删除所有断点

  • d 3 --delete 3,删除断点3

  • disable 1 --禁用断点1

  • enable 1 --启用断点1

  • s --step,跳进去

  • stepi 与step类似,但是比step更详细

  • f --finish,跳出来

  • n --next,执行一行

  • n 3 --next 3,执行3行

  • nexti 单步执行语句,但和next不同的是,它会跟踪到子程序的内部,但不打印出子程序内部的语句。

  • c --continue,继续直至下一个断点或结束

  • p a --print a,输出变量a的值

  • list/l --查看代码

  • q/kill --退出本次调试

  • bt --查看调用堆栈

  • x /nxb 以单字节(b)为单位,以十六进制形式显示(x),打印n(n)个字节

  • return --把当前函数return

  • info variables 查看全局和静态变量
    info locals 查看当前stack frame局部变量
    info args 查看当前stack frame参数

  • set print pretty on/off 开启/关闭显示更友好

  • whatis 显示某个变量或表达式的数据类型

  • awatch:用来增加一个观察点(add watch),使用格式:
        awatch 变量或表达式
      当表达式的值发生改变或表达式的值被读取时,程序就会停止运行。

  • watch:与awatch类似用来设置观察点,但程序只有当表达式的值发生改变时才会停止运行。使用格 式:
        watch 变量或表达式

  • 循环n次后停下来 break 行数 if i==n

参考

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值