GDB
GDB是强大的UNIX下的程序调试工具。要支持gdb调试信息,gcc编译时要加入-g 参数
命令 |
解释 |
示例 |
file <文件名> |
加载被调试的可执行程序文件 |
(gdb) file gdb-sample |
l <n1,n2> |
显示指定行的文件内容,若无行数,则显示全部 |
(gdb) l 2,5 |
r |
向前运行被调试的程序,Run的简写 |
(gdb) r |
c |
继续执行被调试程序,直至下一个断点或程序结束,Continue的简写 |
(gdb) c |
b
<行号> |
设置断点,Breakpoint的简写 |
(gdb)
b 8 |
Info b |
显示当前断点信息 |
(gdb) info b |
enable b<n> |
使能指定断点 |
(gdb) enable b 1 |
disable b<n> |
禁止指定断点 |
(gdb) disable b 1 |
Clear <n> |
清除指定断点 |
(gdb) clear 1 |
d [编号] |
删除指定编号的某个断点,Delete breakpoint的简写 |
(gdb) d |
S n |
s:
执行一行源程序代码,如果此行代码中有函数调用,则进入该函数 这两个命令必须在有源代码调试信息的情况下才可以使用(-g) |
(gdb)
s |
si, ni |
si命令类似于s命令,ni命令类似于n命令。 (si/ni)所针对的是汇编指令,s/n针对的是源代码。 |
(gdb)
si |
p <变量名称> |
显示指定变量的值,Print的简写 |
(gdb) p ‘file.c‘::sum::i (gdb) p *array@lenth |
x /nfu <address> |
显示指定内存值,n长度,f格式(s字符i指令),u字节数(b,h,w,g)1,2,4,8 |
(gdb) x /3uh 0x520 |
watch <condition> |
设置观察点 |
(gdb) watch i==3 |
set <expr> |
修改变量的值,还可以修改当前运行指针set $PC=0x520 |
(gdb) set i=1 |
jump <location> |
跳转执行 |
(gdb) jump 21 |
signal <signum> |
信号 |
(gdb) signal 2 |
return <value> |
强制调用函数返回 |
(gdb) return 2 |
display ...
|
设置程序中断后欲显示的数据及其格式,display的简写 |
(gdb) display /i $pc
|
undisplay <编号> |
取消先前的display设置 |
(gdb) undisplay 1 |
i |
显示信息,Info的简写 |
(gdb) i r |
q |
Quit的简写,退出GDB调试环境。 |
(gdb) q |
help [命令名称] |
GDB帮助命令,提供对GDB名种命令的解释说明。 |
(gdb) help display |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。