gdb
Introduction
gdb(GNU Debugger)是GNU项目中的调试工具。
Usage
Common
-
帮助
help <command-name>
-
运行
run
=r
运行到断点
c
=continue
继续到断点 -
断点
b <breakpoint-name>
函数名处打断点
b <location>
在地址处打断点 -
步进
s
C语言步进 进入函数
si
汇编语言步进 进入函数
n
C语言步进 不进入函数
ni
汇编语言步进 不进入函数 -
观察点
-
打印内存: 使用x命令来打印内存的值,格式为x/nfu addr,以f格式打印从addr开始的n个长度单元为u的内存值。
x/nfu <address>
- n:输出单元的个数
- f : 输出格式,如x表示以16进制输出,o表示以8进制数处,默认x,如果地址所指的是字符串,那么格式可以是s,如果地址是指令地址,那么格式可以是i。
- u:一个单元的长度,b表示1byte,h表示2byte(half word),w表示4byte,g表示8byte(giant word)
-
打印变量
print/x <variable>
- d 按十进制格式显示变量
x 按十六进制格式显示变量
a 按十六进制格式显示变量
u 按十六进制格式显示无符号整型
o 按八进制格式显示变量
t 按二进制格式显示变量
c 按字符格式显示变量
f 按浮点数格式显示变量
- d 按十进制格式显示变量
-
打印信息
info registers
prints the value of every register.
info frame
prints the current stack frame.
list <location>
prints the source code of the function
at the specified location.
backtrace
might be useful as you work on lab 1 -
tui
tui enable
layout <name>
switches to the given layout.
.gdbinit
Links
Updating…