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}
@左邊是數組的地址,@右邊是顯示數組的長度