gdb除錯時檢視記憶體
阿新 • • 發佈:2019-01-03
x/<n/f/u> <addr>
n、f、u是可選的引數,<addr>表示一個記憶體地址
2) f 表示顯示的格式
3) u 表示將多少個位元組作為一個值取出來,如果不指定的話,GDB預設是4個bytes,如果不指定的話,預設是4個bytes。當我們指定了位元組長度後,GDB會從指記憶體定的記憶體地址開始,讀寫指定位元組,並把其當作一個值取出來。
引數 f 的可選值:
x 按十六進位制格式顯示變數。d 按十進位制格式顯示變數。
u 按十六進位制格式顯示無符號整型。
o 按八進位制格式顯示變數。
t 按二進位制格式顯示變數。
a 按十六進位制格式顯示變數。
c 按字元格式顯示變數。
f 按浮點數格式顯示變數。
引數 u 可以用下面的字元來代替:
b 表示單位元組
h 表示雙位元組
w 表示四字 節
g 表示八位元組
例如:
x/1tb 0x7fffffffe37e
檢視1個單位元組二進位制
x/32tb 0x7fffffffe37e
檢視32個單位元組二進位制
x/1dw 0x7fffffffe38e
十進位制檢視1個int
x/2dw 0x7fffffffe38e
十進位制檢視2個int