x的使用
作用:显示内存里边值。
格式: x /[number][format][unit] <address>
说明:
x 是 examine 的缩写
[number]表示显示的内存单元的个数,也就是说从当前向后显示几个地址的内容。
[format]
表示显示方式, 可取如下值:
值 | 含义 |
---|---|
x | 按十六进制格式显示变量 |
d | 按十进制格式显示变量 |
u | 按十进制格式显示无符号整型 |
o | 按八进制格式显示变量 |
t | 按二进制格式显示变量 |
a | 按十六进制格式显示变量 |
i | 指令地址格式 |
c | 按字符格式显示变量 |
f | 按浮点数格式显示变量 |
[unit]
表示一个地址单元的长度,表示多少个字节作为一个值取出来,如果不指定的话,gdb默认是1个byte,当我们指定了字节长度后,GDB会从指定内存的地址开始,读取指定字节,并把其作为一个值取出来。有下边的值:
名称 | 字节数 |
---|---|
b | 单字节 |
h | 双字节 |
w | 四字节 |
g | 八字节 |
参考博客《GDB print命令高级用法》。
作用:显示内存里边的值。
格式: print[/format] expr
。
format
表示显示方式, 可取如下值:
/format | 功 能 |
---|---|
/x | 以十六进制的形式打印出整数 |
/d | 以有符号、十进制的形式打印出整数 |
/u | 以无符号、十进制的形式打印出整数 |
/o | 以八进制的形式打印出整数 |
/t | 以二进制的形式打印出整数 |
/f | 以浮点数的形式打印变量或表达式的值 |
/c | 以字符形式打印变量或表达式的值 |
display
参考博客《GDB print和display命令:查看变量的值》。
作用:每次程序暂停执行时都会自动打印出目标变量或表达式的值。
格式:display/format expr
.
format
表示显示方式, 可取如下值:
/format | 功 能 |
---|---|
/x | 以十六进制的形式打印出整数 |
/d | 以有符号、十进制的形式打印出整数 |
/u | 以无符号、十进制的形式打印出整数 |
/o | 以八进制的形式打印出整数 |
/t | 以二进制的形式打印出整数 |
/f | 以浮点数的形式打印变量或表达式的值 |
/c | 以字符形式打印变量或表达式的值 |