标签:
要想使用gdb调试,在编译的时候必须添加-g参数,产生调试信息
# gcc -g debugme.c -o debugme
导入调试代码
运行:run
run后面可以添加调用参数,或者直接用 set args 进行设置
查看代码:
list n1,n2 列出n1到n2之间的代码
list 不跟参数列出当前的十行代码
查看变量值:
print var
查看调用栈:
backtrace
设置断点:
break linenum
break funcname
设置满足一定条件的断点:
break linenum if expr
break funcname if expr
查看断点情况: info break
删除断点:
基于断点号删除断点:
delete : 删除所有断点
delete breaknum : 删除标号为breaknum的断点
delete breaknum1,breaknum2 : 删除标号在breaknum1到breaknum2之间的所有断点
基于行号删除断点:
clear location : 删除当前行的所有断点
clear funcname :删除funcname函数的所有断点
clear linenum : 删除linenum行的所有断点
执行:
单步调试: step, next
两者的区别是,当又函数的时候,step将跟入函数内部;next会跳过函数
continue到下一个断点
终止
跳出函数: finish
终止: q
标签:
原文地址:http://www.cnblogs.com/li-xingtao/p/4256107.html