用gdb檢視記憶體
格式: x /nfu 說明
x 是 examine 的縮寫
n表示要顯示的記憶體單元的個數
f表示顯示方式, 可取如下值
x 按十六進製制格式顯示變數。
d 按十進位制格式顯示變數。
u 按十進位制格式顯示無符號整型。
o 按八進位制格式顯示變數。
t 按二進位制格式顯示變數。
a 按十六進製制格式顯示變數。
i 指令位址格式
c 按字元格式顯示變數。
f 按浮點數格式顯示變數。
u表示乙個位址單元的長度
b表示單位元組,
h表示雙位元組,
w表示四位元組,
g表示八字節
gdb檢視記憶體區命令 :
format letters are o(octal), x(hex), d(decimal), u(unsigned decimal),
t(binary), f(float), a(address), i(instruction), c(char) and s(string).
size letters are b(byte), h(halfword), w(word), g(giant, 8 bytes) 舉例
x/3uh buf
表示從記憶體位址buf讀取內容,
h表示以雙位元組為乙個單位,
3表示三個單位,
u表示按十六進製制顯示
例子:n是個區域性變數
breakpoint 1, main (argc=1, ar**=0xbffff3a4) at calc.c:7
7 int n = atoi(ar**[1]);
(gdb) print &n
$1 = (int *) 0xbffff2ec
(gdb) x 0xbffff2ec
0xbffff2ec: 0x00282ff4
(gdb) print * (int *) 0xbffff2ec
$2 = 2633716
(gdb) x /4xw 0xbffff2ec
0xbffff2ec: 0x00282ff4 0x080484e0 0x00000000 0xbffff378
(gdb) x /4dw 0xbffff2ec
0xbffff2ec: 2633716 134513888 0 -1073745032
(gdb)
gdb檢視記憶體區命令
用gdb檢視記憶體 格式 x nfu 說明 x 是 examine 的縮寫 n表示要顯示的記憶體單元的個數 f表示顯示方式,可取如下值 x 按十六進製制格式顯示變數。d 按十進位制格式顯示變數。u 按十進位制格式顯示無符號整型。o 按八進位制格式顯示變數。t 按二進位制格式顯示變數。a 按十六進製制...
GDB檢視記憶體命令(x命令)
可以使用examine命令 簡寫是x 來檢視記憶體位址中的值。x命令的語法如下所示 x n f u是可選的引數。n 是乙個正整數,表示顯示記憶體的長度,也就是說從當前位址向後顯示幾個位址的內容。f 表示顯示的格式,參見上面。如果位址所指的是字串,那麼格式可以是s,如果地十是指令位址,那麼格式可以是i...
gdb檢視記憶體
格式 x nfu 說明 x 是 examine 的縮寫 n表示要顯示的記憶體單元的個數 f表示顯示方式,可取如下值 x 按十六進製制格式顯示變數。d 按十進位制格式顯示變數。u 按十進位制格式顯示無符號整型。o 按八進位制格式顯示變數。t 按二進位制格式顯示變數。a 按十六進製制格式顯示變數。i 指...