你能够使用examine命令(简写是x)来查看内存地址中的值。x命令的语法以下所示:
x/<n/f/u> <addr>
n、f、u是可选的参数。
n 是一个正整数,表示显示内存的长度,也就是说从当前地址向后显示几个地址的内容。html
f 表示显示的格式,参见上面。若是地址所指的是字符串,那么格式能够是s,若是地十是指令地址,那么格式能够是i。
x 按十六进制格式显示变量。
d 按十进制格式显示变量。
u 按十六进制格式显示无符号整型。
o 按八进制格式显示变量。
t 按二进制格式显示变量。
a 按十六进制格式显示变量。
c 按字符格式显示变量。
f 按浮点数格式显示变量。post
u 表示从当前地址日后请求的字节数,若是不指定的话,GDB默认是4个bytes。u参数能够用下面的字符来代替,b表示单字节,h表示双字节,w表示四字 节,g表示八字节。当咱们指定了字节长度后,GDB会从指内存定的内存地址开始,读写指定字节,并把其看成一个值取出来。htm
bhwgblog
x/4bt &a内存
-------------------------------- <addr>表示一个内存地址。 n/f/u三个参数能够一块儿使用。例如: 命令:x/3uh 0x54320 表示,从内存地址0x54320读取内容,h表示以双字节为一个单位,3表示三个单位,u表示按十六进制显示。 输出格式 通常来讲,GDB会根据变量的类型输出变量的值。但你也能够自定义GDB的输出的格式。例如,你想输出一个整数的十六进制,或是二进制来查看这个整型变量的中的位的状况。要作到这样,你能够使用GDB的数据显示格式: x 按十六进制格式显示变量。 d 按十进制格式显示变量。 u 按十六进制格式显示无符号整型。 o 按八进制格式显示变量。 t 按二进制格式显示变量。 a 按十六进制格式显示变量。 c 按字符格式显示变量。 f 按浮点数格式显示变量。