查看当前运行到哪:查看堆栈 bt --打印当前的函数调用栈的所有信息。
查看当前栈帧的信息:f --栈的层编号,当前的函数名,函数参数值,函数所在文件及行号,函数执行到的语句。
一个进程对应call-stack调用栈,一个函数对应stack-frame栈帧
组合多个变量 {var1, var2, var3 }
info args --打印出当前函数的参数名及其值。 info locals --打印出当前函数中所有局部变量及其值。
list --显示当前行及其前后的源代码 list function --显示函数的源代码 list filename:linenum(function) --显示某个文件中的某一行(函数)
断点:break 7 if n==6 --以条件表达式设置断点 break function --在某个函数处设置断点
info breakpoints --查看断点信息 disable 断点号 --使该断点失效
clear linenum(function) --清初某行(函数)处的断点 delete 断点号 --删除几号断点
kill --结束当前调试进程
gdb也支持运行linux命令的,可以在gdb的提示符中,输入shell,然后在输入你需要的命令就可以了 (gdb) shell clear 可以清屏
查看进程,线程
1.查看进程:info inferiors
2.查看线程:info threads
3.查看线程栈结构:bt
4.切换线程:thread n(n代表第几个线程)