1. 程式人生 > >gdb除錯時檢視記憶體

gdb除錯時檢視記憶體

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 表示八位元組

例如:

x/1tb 0x7fffffffe37e

檢視1個單位元組二進位制

x/32tb 0x7fffffffe37e

檢視32個單位元組二進位制

x/1dw 0x7fffffffe38e

十進位制檢視1個int

x/2dw 0x7fffffffe38e

十進位制檢視2個int