gdb 调试的使用

  • 编译时需要加入-g 选项使用 gdb

  • r(un) 启动程序不调试(也可以指定参数)

  • start 启动程序停留在 main 函数

  • n(ext)执行下一条语句

  • s(tep)下一条指令,可跳转到函数内部

  • q(uit)退出 gdb

  • set args 参数 1.。。 可以设置函数的参数(运行时也可以设置)

  • l(ist) 显示 10 行代码,默认为主函数文件(指定其他文件需要加行号)

  • b(reak) 行数 可以设置断点

    • 可以指定函数
    • 可以指定文件+行号
    • d(el) +断点编号
    • **可以加上 if ** 设置条件断点
  • p(rint) + 变量名 可以查看变量值

    • ptype + 变量名 可以查看变量类型
  • c(ontinue)** 跳转到下一个断点

  • display + 变量名 可以跟踪一个变量

    • undisplay 可以取消跟踪
  • i(nfo) b 查看断点编号

    • display 可以查看跟踪编号