gdb是linux下常用的调试工具,网上也有更为全面的,所以我就简单的说一些常用的命令,供大家参考,也可供自己平时查阅,实时更新。
(请先安装好gdb)
1.首先就是在编译时要先加入-g,否则无法进行调试。
即在命令行处输入g++ -g test.cpp -o test
2.进行调试
在命令行处输入gdb ./test
3.常用指令
list(l)——–列出10行代码,再次输入则列出往下的10行。若是list 加行号则从该行开始输出10行
break(b)———后面加行数即 b 10。就是在第十行处加断点
run(r)———–即开始运行至第一个断点处
continue(c)———继续运行至下个断点
step(s)——–执行一行源程序代码,如果此行代码中有函数调用,则进入该函数
next(n)——执行一行源程序代码,此行代码中的函数调用也一并执行
print(p)——-后面加变量名,输出变量
info(i)———-显示各类信息,例如info b就是显示当前断点情况
quit(q)———退出gdb
delete(d)———-去除断点
watch———观测
finish————-运行至当前函数结束,并打印函数返回时的堆栈地址和返回值及参数值等信息
4.部分指令详解
①watch
watch 为表达式(变量)expr设置一个观察点。变量量表达式值有变化时,马上停住程序。
表达式可以是一个变量 例如:watch value_a
表达式可以是一个复杂的语句表达式: 例如:watch a*b + c/d