gdb 调试常用命令

(1) gdb 可执行文件 : 表示对某个文件进行调试
(2) b 函数名/行数  :  在某个函数名或行数前设置断点
(3) continue/c     : 跳转到下个断点,或者跳转到观察点
(4) n/next         : 表示执行下一行语句
(5) l/list         : 列出源码默认10行(当前位置的上下共10行)
    list 行号      : 列出行号上下共10行的源码
    list 函数名    : 列出函数名上下共10行的源码
(6) s/step         : 表示单步执行,进入函数
(7) p /x 变量名    : 按16进制输出变量的值
      /d           : 按10进制
      /o           : 按八进制
(8) set var 变量名=值 : 设置变量的值
(9) bt(backtrace)  : 查看各级函数调用及参数,简写bt
(10)q/quit         : 退出
(11)finish         : 连续运行到当前函数返回为止,然后停下来等待命令
(12)display var          :程序停止时显示变量
(13)whatis 变量名   : 可以查看变量的类型,简写为pt
(14)watch
    作用:一般用来观察某个变量/内存地址的状态(也可以是表达式),
          如可以监控该变量/内存值是否被程序读/写情况。
    有三种方法:
    1.watch expr(指定变量/内存地址/表达式)
    一旦expr的值有变化时,将停住程序。
    2.rwatch expr
    当expr被读时,停住程序。
    3.awatch expr
    当expr被读或被写时,停住程序。
    watch使用步骤:
        1. 使用break在要观察的变量所在处设置断点;
        2. 使用run执行,直到断点;
        3. 使用watch设置观察点;
        4. 使用continue观察设置的观察点是否有变化。
(15)start            : 开始执行程序,停在main函数第一行语句前面等待命令
(16)info watchpoints : 列出所有观察点
    info breakpoints : 查看当前设置的所有断点
(17)d/delete [breakpoinsts num] [rang...]         
    d/delete         : 删除所有断点
    d/delete num     : 删除breakpoints为num的断点
    d/delete num1-num2 : 删除breakpoints为num1-num2的断点
(18)enable num       : 启用num号断点
(19)disable num      : 关闭num号断点
(20)u/until          : 结束当前循环

更多指令待验证添加
文档更新时间: 2020-07-29 18:20   作者:Stduino