gdb常见调试命令

1. gdb ./xxx 可执行文件
2. 在gdb命令中,只需输入命令或者参数的前几个字符,再按键盘上的 TAB 键,gdb 会自动补全命令或参数,如果有多个候选者,那么 gdb 将他们都列举出来;、
3. 常见命令
  - list 行号:显示当亲文件以 行号 为中心的前后 10 行代码;
    - list 函数名:将显示所在函数为中心 前后 10 行的源代码
    - run 
        运行程序,当遇到断掉后,程序会在断点处停止运行,等待用于输入下一步命令;
    - set args
        设置运行程序时的命令参数, 如:set args 33 33
    - continue 
        简写为 c,继续制定被断点中断的程序
    - break
        + break 行号 在当前文件的“行号”处设置断点,break 33
        + break 函数名:在用户定义的函数“函数名”处设置断点
        + info breakpoints:显示当前程序的断点设置情况

在这里插入图片描述

  + disable Breakpoint Num:关闭断点 Num,“Num”为 info breakpoints 中显示的对应值
    + enable Breakpoint Num:打开断点 Num
- step
    简写 s,单步跟踪程序,当遇到函数调用时,则进入函数体(一般只进入用户自定义函数)
- next
    简写 n,单步跟踪程序,当遇到函数调用时,也不进入函数体,与step区别,step会进入函数体
- until
    当你厌倦了在一个循环体内单步跟踪时,这个命令可以运行程序直到退出循环体
- finish
    运行程序,直到当前函数完成返回,并打印函数返回时堆栈地址和返回值及参数值等信息
- stepi 或 nexti
    单步跟踪一些机器指令
- print 表达式
    简写:p,在C语言中,表达式可以是数字,变量,甚至是函数调用
    + print a
    + print ++a
    + print name:字符串 name 的值
    + print gdb_test(22):将整数 22 作为参数调用 gdb_test() 函数
    + print gdb_test(a)
    + bt:显示当亲程序的函数调动堆栈
    + display 表达式;
        单步运行时,使用display 命令设置一个表达式后,它将在每次单步执行命令后,紧接着输出被设置的表达式及值
    + watch 表达式
        设置一个监视,一旦别监视的 表达式 的值改变,gdb将强行终止正在被调试的程序
    + kill
        强行终止当前正在调试的程序
    + help 命令
        显示 命令的帮助信息
    + call 函数(参数)
        调用 函数, 并传递 参数,
    + layout
        分隔窗口,一遍查看代码,一遍测试
        * layout src:显示源代码窗口
        - layout asm: 显示反汇编窗口
        - layout regs:显示源代码/反汇编 和 CPU 寄存器窗口
        - layout split:显示源代码和反汇编窗口
        - Ctrl + L:刷新窗口
    + quit:退出 简写为q
    ……
    多线程/信号/远程调试……
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值