gdb調試時查看內存


x/<n/f/u> <addr>

n、f、u是可選的參數,<addr>表示一個內存地址

1) n 是一個正整數,表示顯示內存的長度,也就是說從當前地址向后顯示幾個地址的內容

2) f 表示顯示的格式

3) u 表示將多少個字節作為一個值取出來,如果不指定的話,GDB默認是4個bytes,如果不指定的話,默認是4個bytes。當我們指定了字節長度后,GDB會從指內存定的內存地址開始,讀寫指定字節,並把其當作一個值取出來。

 

參數 f 的可選值:

x 按十六進制格式顯示變量。
d 按十進制格式顯示變量。
u 按十六進制格式顯示無符號整型。
o 按八進制格式顯示變量。
t 按二進制格式顯示變量。
a 按十六進制格式顯示變量。
c 按字符格式顯示變量。

f 按浮點數格式顯示變量。

 

參數 u 可以用下面的字符來代替:

b 表示單字節

h 表示雙字節

w 表示四字 節

g 表示八字節

 

例如:

(gdb) p record
$10 = {12, 76, 48, 62, 94, 17, 32, 37, 52, 69}
(gdb) p &record
$11 = (int (*)[10]) 0x8049740
(gdb) x/4uw 0x8049740
0x8049740 <record>:    12    76    48    62
(gdb) x/6ow 0x8049740
0x8049740 <record>:    014    0114    060    076
0x8049750 <record+16>:    0136    021


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM