1.首先gdb编译:
gcc -g xxx.c -o xxx
2.然后 gdb xxx进入调试
break 行号
添加断点
- (1)然后run就可以跑到下一个断点
- (2)step(或s)单步跟踪
- (3)print可(或p)以查看当前程序的运行数据 比如:print a 输出a变量的值 输出格式可以设置: 比如p/d a 十进制输出a变量的值
- (4)也可以设置display,比如display a 这样以后每次调试都会输出a变量的值
- (5)examine(或x)查看内存地址中的值
语法:x/
- (6)list查看原程序
- (7)print x=8 在调试过程中修改变量x的值,下面生效
- (8)jump
实现跳转,可以是文件的行号,也可以是file:line,也可以是+num这种格式 jump address是代码行的内存地址 - (9)signal
产生信号量 - (10) return 强制返回
- (11) call
强制调用 - (12) c 继续执行 跳到下一个断点
- (13) bt 查看堆栈
- (14) where 报错时查看哪里出错
- (15) info b 查看断点情况
- (16) n 单步执行
- (17) q 退出
- (18) ptype 输出结构体类型
- (19) info registers显示寄存器值 info all-registers显示所有寄存器