1)GDB主要完成三方面功能:
启动被调试程序;
让被调试程序在指定位置停住;
当程序被停住时,可以检查程序状态(如变量值)。
2)GDB命令:
启动GDB(两种方法):
<1> gdb 调试程序名 (如: gdb helloword)
<2> gdb
file 调试程序名
list(l) : 查看程序 (括号内表示也可用缩写)
break(b) 函数名 :在某函数入口处添加断点
break(b) 行号 :在指定行添加断点
break(b) 文件名:行号 :在指定文件的指定行添加断点
如: b test.c:25 在test.c文件的第25行打一个断点
break(b) 行号 if 条件 :当条件为真时,指定行号处断点生效
如: b 5 if i=10 当i等于10时第5行断点生效
info break :查看所有设置的断点
delete 断点编号 :删除断点
run(r) :开始运行程序
next(n) :单步运行程序(不进入子函数)
step(s) :单步运行程序(进入子函数)
continue(c) :继续运行程序
print(p) 变量名 :查看指定变量值
finish :运行程序,直到当前函数结束
watch 变量名 :对指定变量进行监控
quit(q) :退出gdb
启动被调试程序;
让被调试程序在指定位置停住;
当程序被停住时,可以检查程序状态(如变量值)。
2)GDB命令:
启动GDB(两种方法):
<1> gdb 调试程序名 (如: gdb helloword)
<2> gdb
file 调试程序名
list(l) : 查看程序 (括号内表示也可用缩写)
break(b) 函数名 :在某函数入口处添加断点
break(b) 行号 :在指定行添加断点
break(b) 文件名:行号 :在指定文件的指定行添加断点
如: b test.c:25 在test.c文件的第25行打一个断点
break(b) 行号 if 条件 :当条件为真时,指定行号处断点生效
如: b 5 if i=10 当i等于10时第5行断点生效
info break :查看所有设置的断点
delete 断点编号 :删除断点
run(r) :开始运行程序
next(n) :单步运行程序(不进入子函数)
step(s) :单步运行程序(进入子函数)
continue(c) :继续运行程序
print(p) 变量名 :查看指定变量值
finish :运行程序,直到当前函数结束
watch 变量名 :对指定变量进行监控
quit(q) :退出gdb