能夠使用examine命令(簡寫是x)來查看內存地址中的值。x命令的語 法以下所示:
x/<n/f/u> <addr>
n、f、u是可選的參數。spa
n是一個正整數,表示須要顯示的內存單元的個數,也就是說從當前地址向後顯示幾個 內存單元的內容,一個內存單元的大小由後面的u定義。內存
f 表示顯示的格式,參見下面。若是地址所指的是字符串,那麼格式能夠是s,若是地十是指令地址,那麼格式能夠是i。字符串
u 表示從當前地址日後請求的字節數,若是不指定的話,GDB默認是4個bytes。u參數能夠用下面的字符來代替,b表示單字節,h表示雙字節,w表示四字 節,g表示八字節。當咱們指定了字節長度後,GDB會從指內存定的內存地址開始,讀寫指定字節,並把其看成一個值取出來。變量
<addr>表示一個內存地址。二進制
注意:嚴格區分n 和u的關係,n表示單元個數,u表示每一個單元的大小。
n/f/u三個參數能夠一塊兒使用。例如:
命令:x/3uh 0x54320 表示,從內存地址0x54320讀取內容,h表示以雙字節爲一個單位,3表示輸出三個單位,u表示按十六進制顯示。
輸出格式
通常來講,GDB會根據變量的類型輸出變量的值。但你也能夠自定義GDB的輸出的格式。例如,你想輸出一個整數的十六進制,或是二進制來查看這個整型變量 的中的位的狀況。要作到這樣,你能夠使用GDB的數據顯示格式:
x 按十六進制格式顯示變量。
d 按十進制格式顯示變量。
u 按十六進制格式顯示無符號整型。
o 按八進制格式顯示變量。
t 按二進制格式顯示變量。
a 按十六進制格式顯示變量。
c 按字符格式顯示變量。
f 按浮點數格式顯示變量。請求