gdb之x命令


gdb之x命令

  可以使用examine命令(簡寫是x)來查看內存地址中的值。x命令的語法如下所示:

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

  n、f、u是可選的參數。

  n是一個正整數,表示需要顯示的內存單元的個數,也就是說從當前地址向后顯示幾個內存單元的內容,一個內存單元的大小由后面的u定義。

  f 表示顯示的格式,參見下面。如果地址所指的是字符串,那么格式可以是s,如果地十是指令地址,那么格式可以是i。

  u 表示從當前地址往后請求的字節數,如果不指定的話,GDB默認是4個bytes。u參數可以用下面的字符來代替,b表示單字節,h表示雙字節,w表示四字 節,g表示八字節。當我們指定了字節長度后,GDB會從指內存定的內存地址開始,讀寫指定字節,並把其當作一個值取出來。

  <addr>表示一個內存地址。

  注意:嚴格區分n和u的關系,n表示單元個數,u表示每個單元的大小。

  n/f/u三個參數可以一起使用。例如:

  命令:x/3uh 0x54320 表示,從內存地址0x54320讀取內容,h表示以雙字節為一個單位,3表示輸出三個單位,u表示按無符號十進制顯示。

(gdb) help x

Examine memory: x/FMT ADDRESS.

ADDRESS is an expression for the memory address to examine.

FMT is a repeat count followed by a format letter and a size letter.

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).

The specified number of objects of the specified size are printed

according to the format.

 參考:http://blog.csdn.net/allenlinrui/article/details/5964046


免責聲明!

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



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