gdb用来调试逻辑错误不能用来调试语法错误
1、gdb调试基本命令
1、gcc main.c -o main -g //编译程序要加 -g
2、gdb main //进入gdb调试环境
3、list/l 1 //从第一行开始列出要调试的程序
4、break/b 25 //在第25行设置断点
5、run/r //执行程序
6、next/n //执行下一条指令 会越过函数
7、step/s //执行下一条指令 会进入函数
8、print/p i //查看i变量的值
9、continue //继续执行断点后续指令
10、quit //退出gdb调试
2、gdb调试其他指令
gdb调试段错误:在调试环境中 直接 run 就会找到段错误的位置
finish :结束当前函数调用
start:单步执行,运行程序,停在第一执行语句
gdb中调试main命令行参数argv:在run之前 set args 11 22 33 或者 run 11 22 33
info b :查看断点信息
b 25 if i=5 :设置条件断点,一般用在循环语句中
ptype i :查看i变量类型
backtrace/bt:查看函数调用的栈帧和层级关系,列出当前程序正存活的栈帧
栈帧:随着函数调用而在stack上开辟的一片内存空间。用于存放函数调用时产生的局部变量和临时值
frame 1:进入栈帧编号为1的栈帧
display i :设置跟踪变量
undisplay 变量编号 :取消设置跟踪变量