gdb调试

基本命令

要想使用gdb调试,在编译的时候必须添加-g参数,产生调试信息

 # gcc -g debugme.c -o debugme

导入调试代码

  1. 可以在使用gdb调试时添加参数 gdb a.out
  2. 也可以在进入gdb后使用file命令导入调试文件,(gdb)> file a.out

运行: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

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。