1.生成gdb可调试文件:gcc a.c -o a.out -g(注意后面一定要跟上-g)
2.运行调试文件:gdb a.out
3.gdb调试下显示代码:list 行号,也可以简写(l 行号)
4.设置断点:b 行号(b 8)
5.查看断点信息:info b
5.run或者r:全速执行
6.打印监视变量:p 变量名
7.执行下一条指令:n
8.单步执行:s
9.继续执行:continue
10.从gdb调试中跳出:quit
11.运行程序之后,从第一行开始单步执行:start
12.结束当前函数调用,跳到函数调用的下一条指令:finish
13.设置main函数命令行参数:在函数运行之后就设置(set args 实参 (set args 1 "pxz" "wxx"),这一步必须在start之前做
上面是用set传递命令行参数,也可以采用run传参,进入gdb程序调试之后,run 1 "pxz" "wxx"
14.查看变量类型:ptype 变量名称(ptype i)
15.bt(backtrace):查看函数调用的栈帧和层级关系,会列出每个栈帧的编号
16.frame 栈帧编号:切换到你想要查看的函数栈帧,例如(frame 0)查看第一个函数的栈空间变量
17.display 变量:每一步都打印出该变量的具体数组,跟踪变量
18.取消跟踪变量:undisplay 变量编号