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,這個命令常用於檢查輸出陣列的內容
樣例:
如果是檢視靜態陣列,也可以使用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}
@左邊是陣列的地址,@右邊是顯示陣列的長度