x/<n/f/u> <addr>
n、f、u是可選的參數,<addr>表示一個內存地址
1) n 是一個正整數,表示顯示內存的長度,也就是說從當前地址向后顯示幾個地址的內容
2) f 表示顯示的格式
3) u 表示將多少個字節作為一個值取出來,如果不指定的話,GDB默認是4個bytes,如果不指定的話,默認是4個bytes。當我們指定了字節長度后,GDB會從指內存定的內存地址開始,讀寫指定字節,並把其當作一個值取出來。
參數 f 的可選值:
x 按十六進制格式顯示變量。
d 按十進制格式顯示變量。
u 按十六進制格式顯示無符號整型。
o 按八進制格式顯示變量。
t 按二進制格式顯示變量。
a 按十六進制格式顯示變量。
c 按字符格式顯示變量。
f 按浮點數格式顯示變量。
參數 u 可以用下面的字符來代替:
b 表示單字節
h 表示雙字節
w 表示四字 節
g 表示八字節
例如:
(gdb) p record
$10 = {12, 76, 48, 62, 94, 17, 32, 37, 52, 69}
(gdb) p &record
$11 = (int (*)[10]) 0x8049740
(gdb) x/4uw 0x8049740
0x8049740 <record>: 12 76 48 62
(gdb) x/6ow 0x8049740
0x8049740 <record>: 014 0114 060 076
0x8049750 <record+16>: 0136 021