对gdb的常用命令的使用与介绍
list (l):显示多行代码信息
无参:默认显示10行,第一次使用从代码第一行开始显示;
参数 n:显示以第n行代码为中心的10行代码;
参数 函数名:显示以函数定义那行代码为中心的10行代码;
参数 -:显示刚才打印过的源代码之前的代码
break (b):打断点
break location:在location位置设置断点,location可以为某行号、某函数名或者某个标记,gdb会在执行到这一行的时候停下来;
delete breakpoints 断点号:删除该断点,注意该断点号是断点编号;
clean n:表示清楚第n行的断点,注意这里的n为上次打断点时的行号;
disable/enable n:表示使得编号为n的断点暂时失效或者有效
info(i):查看断点的相关信息
info breakpoints:查看所有断点信息
display(disp):显示参数信息
display param:显示参数param的信息;
也可用delete、info、disable、enable修改与查看display的信息与状态,用法与断点一致
step(s):单步执行,遇到函数进入函数内部
step n:连续执行n步,遇到断点就停下来
next(n):单步执行,遇到函数不会进入函数内部
next n:连续执行n步,遇到断点停下来
watch:设置观察点watchpoint
watch param:当参数param发生改变时,程序会停下来,所以使用该命令时保证程序在运行中
print(p):打印内部变量的值
print param:打印参数param的值
set:动态设置运行中变量的值
set ver param=value:设置变量param的值为value
backtrace(bt):查看函数调用信息
frame:查看栈帧
quit:退出gdb调试
run(r):开始运行程序,遇断点停下
start(st):开始执行程序,在mian函数的第一条语句下停下来
cntinue(c):继续执行程序,遇断点停下
file:装入需要调试的程序
file filename:将filename可执行文件装入调试
kill:终止正在调试的程序