gdb
Introduction
gdb(GNU Debugger)是GNU项目中的调试工具。
Usage
Common
-
帮助
help <command-name> -
运行
run=r运行到断点
c=continue继续到断点 -
断点
b <breakpoint-name>函数名处打断点
b <location>在地址处打断点 -
步进
sC语言步进 进入函数
si汇编语言步进 进入函数
nC语言步进 不进入函数
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 registersprints the value of every register.
info frameprints the current stack frame.
list <location>prints the source code of the function
at the specified location.
backtracemight be useful as you work on lab 1 -
tui
tui enable
layout <name>switches to the given layout.
.gdbinit
Links
Updating…
