文章目录
- gdb 内存查看命令 examine
上篇文章:ARM Linux 系统稳定性分析入门及渐进11 – GDB( print 和 p 的使用| @ 和 ::的使用|ptype|{<type>} <addr> )
gdb 内存查看命令 examine
examine是GDB中x命令的全称,用于检查内存中的内容。这个命令非常强大,可以以多种格式显示内存内容。
examine命令的一般格式为:
examine/NFU ADDR
其中:
N
是你希望显示的内存单位数。F
是显示格式,可以是以下几种:o
(八进制)、x
(十六进制)、d
(十进制)、u
(无符号十进制)、t
(二进制)、a
(地址)、i
(指令)、c
(字符)或f
(浮点数)。U
是内存单位,可以是以下几种:b
(字节)、h
(半字,两个字节)、w
(字,四个字节)或g
(大字,八个字节)。ADDR
是你希望开始检查的内存地址。
例如,你可以使用examine命令来查看存储在指定地址的四个字节的十六进制表示:
(gdb) examine/4xb 0x40063c
0x40063c: 0x01 0x23 0x45 0x67
在这个例子中,4xb
表示以字节为单位,显示四个单位,以十六进制格式显示。所以,给定的内存地址0x40063c
开始的四个字节的值分别是0x01
、0x23
、0x45
和0x67
。
你也可以使用examine命令来查看存储在指定地址的指令:
(gdb) examine/1i 0x40063c
0x40063c: mov $0x1,%eax
在这个例子中,1i
表示以指令为单位,显示一个单位。所以,给定的内存地址0x40063c
开始的指令是mov $0x1,%eax
。