gdb print,gdb x和gdb display的使用

x的使用

作用:显示内存里边值。
格式: x /[number][format][unit]


说明:

x 是 examine 的缩写

[number]表示显示的内存单元的个数,也就是说从当前向后显示几个地址的内容。

[format]表示显示方式, 可取如下值:

含义
x 按十六进制格式显示变量
d 按十进制格式显示变量
u 按十进制格式显示无符号整型
o 按八进制格式显示变量
t 按二进制格式显示变量
a 按十六进制格式显示变量
i 指令地址格式
c 按字符格式显示变量
f 按浮点数格式显示变量

[unit]表示一个地址单元的长度,表示多少个字节作为一个值取出来,如果不指定的话,gdb默认是1个byte,当我们指定了字节长度后,GDB会从指定内存的地址开始,读取指定字节,并把其作为一个值取出来。有下边的值:

名称 字节数
b 单字节
h 双字节
w 四字节
g 八字节

print

参考博客《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 以字符形式打印变量或表达式的值

你可能感兴趣的:(gdb学习,汇编)