GDB檢視記憶體(x 命令)

AdamWong發表於2019-03-15

gdb檢視記憶體命令

首先使用gdb [YourFileName].c進入gdb介面

使用examine命令,字母縮寫為x檢視記憶體地址的值。x命令語法

x/[number][format] <addr>

其中number,format和u都是可選引數,addr為檢視變數的記憶體地址

number: 一個正整數,表示從當前地址向後顯示幾個地址的內容。如

x/24 0x400c90

表示檢視0x400c90到向後0x400c90+24的內容

format:顯示的格式不是檢視的格式。和c語言中的格式縮寫一樣,如

d:整數integer

s:字串string

c:字元char

u:無符號整數 unsigned integer

o:八進位制格式顯示變數

x:十六進位制格式

f: 浮點數格式float

......

x/24d 0x400c90

顯示0x400c90到0x400c90+24的內容,顯示的格式為整數d,這個命令常用於檢查輸出陣列的內容

樣例:
GDB檢視記憶體(x 命令)

GDB檢視記憶體(x 命令)

如果是檢視靜態陣列,也可以使用print+

檢視malloc建立的動態陣列,使用p命令:

(gdb) p *array@len
$1 = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40}

@左邊是陣列的地址,@右邊是顯示陣列的長度

相關文章