跳到主要内容

检查内存地址的数据

形式:x/count fmt size address

count:整数,默认为 1

fmt:

  • a | Address 地址
  • i | Instruction 指令
  • t | Binary 二进制
  • o | Octal 八进制
  • h/x | Hex 十六进制
  • z | Hex,zero padded 十六进制,填充 0 对齐
  • d | Decimal 十进制
  • u | Unsigned decimal 无符号十进制
  • f | Float 浮点
  • c | Char 字符
  • s | String 字符串

size:

  • b | 8 bits - byte
  • h | 16 bits - halfword
  • w | 32 bits - word
  • g | 64 bits - giant

读取内存

(gdb) x [ADDRESS]

读取若干十六进制的内存

(gdb) x/4xw 0xbffff3c0

从内存指定地址读取若干字节,并保存到本地文件

(gdb) set logging on
(gdb) set logging file /tmp/mem.txt
(gdb) x/512bx 0xbffff3c0
(gdb) set logging off

从内存指定地址范围读取字节,并保存到本地文件

(gdb) dump memory /tmp/mem.bin 0x1000 0x2000