gdb调试基本命令(常用)

时间:2024-01-17 17:35:08

gdb调试命令
1>. 启动gdb
  gdb 可执行程序的名字
2>. 查看代码
    l -- 查看当前文件 -- 默认main函数
  2. 查看其它文件: l 文件名:行号, 显示指定行号的上下文
    l 函数名 -- 当前文件
    l 文件名:函数名 -- 指定文件
  3. 查看默认显示的行数: show listsize
  4. 设置: set listsize 行数
3>. 断点操作
  1. 当前文件设置断点: b(break) 行号
  2. 指定文件: b 文件名:行号
    b 函数名 -- 当前文件的这个函数位置打断点
    b filename:funcName -- 指定文件的指定函数
  3. info(i) b(break)
  4. 删除断点:
    d 删除所有断点
    d m-n 删除范围 (m, n断点的编号)
    d m n k 删除指定断点
  5. 使断点无效: disable(dis) 断点编号
  6. 是断点再次生效: enable(ena) 断点编号
  7. 设置条件断点: b 行号 if 变量==value
4>. 调试相关命令
  1. run(r) -- 执行gdb在断点处停止
  2. start -- ....., 只执行一行就停止了
  3. c(continue)继续运行, 停在下一个断点的位置
  4. 单步调试:
    n(next) -- 往下执行一行代码, 不会进入到函数内部
    s(step) -- 往下执行一行代码, 会进入到函数内部
    从函数内部出来: finish
  5. 打印变量的值:
    p 变量名
    ptype 变量名 -- 打印变量的类型
    自动追踪变量的值:
    display 变量名
    取消自动追踪:
    undisplay 编号
    info display -- 获取编号
  6. 设置变量的值: set var 变量名=value
  7. 退出gdb : quit(q)

5>. 查看变量和类型
6>. 退出gdb