gcc -g main.c -o main.out //要调试的代码,在编译时,需要加-g
gdb main.out //开始调试
l 或 list //列出当前调试的源代码,如果没有列出来完,可以继续执行l或list。也可以直接按回车键
回车键 //继续执行上一个命令
beak 12 //将断点打到12行
start //开始单步调试(如果没有打断点,则main函数就是第一个断点)
p 变量名 /函数名 //打印变量名对应的值/函数名对应的地址。
n //执行下一行语句
bt //列出栈中的函数
s //进入栈顶的函数
s 数字 //进入指定函数,其中数字是bt列出的序号
x/3d 地址值 //按照10进制输出内存三个值