GDB使用方法
例子程序tst.c
#include <stdio.h> void main() { int i; long result = 0; for ( i=1; i <= 100; i++) { result += i; } printf("result = %d\n",result); }
1.首先编译程序tst.c生成可执行程序tst
gcc -g tst.c -o tst
2.启动GDB
gdb tst
3.在main处设置断点 (b=break)
b main
4.运行程序,程序会停在断点处 缩写r
run
5.单步运行 缩写n
next
6.连续运行 缩写c
continue
7.退出 缩写q
quit
常用命令
list 缩写 l 会显示程序
break 缩写 b 打断点
1.可以是函数
2.可以是行号
3.在多个文件时可以选择某个文件的第几行
例子: b tst.c:25
4.行号加if判断,条件为真断点生效
例子: b 23 if i =10
当i等于10的时候第23行断点生效
info break 查看所有断点
delete 断点号 删除断点操作
print 变量名 查看指定变量值 缩写 p
step 单步运行程序(进入子程序) 缩写s
next 也是单步运行程序 (不会进入子程序)
continue 继续运行程序,遇到断点会停下来,没有断点继续运行。 缩写c
finish 运行程序直到当前函数结束
watch 变量名 对指定变量进行监控
即,在使用watch时步骤如下:
1. 使用break在要观察的变量所在处设置断电;
2. 使用run执行,直到断点;
3. 使用watch设置观察点;
4. 使用continue观察设置的观察点是否有变化。