gdb中x的用法

本文转载自: gdb —- x命令详解

作者:Adam_0 链接:https://www.jianshu.com/p/589308dd36dc 来源:简书

examine命令缩写为x 格式:

x/<n/f/u>  <addr>
n:是正整数,表示需要显示的内存单元的个数,即从当前地址向后显示n个内存单元的内容一个内存单元的大小由第三个参数u定义
f:表示addr指向的内存内容的输出格式s对应输出字符串,此处需特别注意输出整型数据的格式:
  x 按十六进制格式显示变量.
  d 按十进制格式显示变量。
  u 按十进制格式显示无符号整型。
  o 按八进制格式显示变量。
  t 按二进制格式显示变量。
  a 按十六进制格式显示变量。
  c 按字符格式显示变量。
  f 按浮点数格式显示变量。
  i 指令地址格式

u:就是指以多少个字节作为一个内存单元-unit,默认为4u还可以用被一些字符表示:
b=1 byte, h=2 bytes,w=4 bytes,g=8 bytes.

<addr>:表示内存地址。
Format letters are o(octal), x(hex), d(decimal), u(unsigneddecimal),
t(binary), f(float), a(address), i(instruction), c(char) and s(string).
Size letters are b(byte), h(halfword), w(word), g(giant, 8bytes)

举例: x/3uh buf 表示从内存地址buf读取内容,

3表示三个单位, u表示按十六进制显示 h表示以双字节为一个单位