GDB調試實用命令


個人感覺從windows平台轉到linux平台一個不適應的地方就是調試器的使用。因為windows下調試器基本上都依賴快捷鍵和圖像界面來完成操作,就算是windbg這種偽命令行的工具,命令也很簡單比較好記。

相比之下GDB屬於很復雜的了,網上找到的一些GDB的文章列出的往往都是一些沒什么卵用的命令,所以開個帖子記錄下常用的命令。

 

插件安裝

1.gdb-peda

這是一個調試時必不可少的神器,github地址在:https://github.com/longld/peda ,它的安裝兩條簡單命令即可完成:

1.git clone https://github.com/longld/peda.git ~/peda

2.echo "source ~/peda/peda.py" >> ~/.gdbinit

peda的一個實用命令checksec檢測安全保護。

peda的另一個實用命令searchmem用搜索內存

 

file 路徑  附加文件

r       開始執行

c              繼續執行

step          單步步入

next          單步步過

b *地址  下斷點

enable       激活斷點

disable      禁用斷點

info b        查看斷點

del num     刪除斷點

x/wx $esp   以4字節16進制顯示棧中內容

stack 100    插件提供的,顯示棧中100項

 find xxx     快速查找,很實用

s 按字符串輸出

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

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

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

b表示單字節,h表示雙字節,w表示四字 節,g表示八字節

但是實際的組合就那么幾種:

x/s 地址  查看字符串

x/wx 地址  查看DWORD

x/c 地址  單字節查看

x/16x $esp+12 查看寄存器偏移 

set args 可指定運行時參數。(如:set args 10 20 30 40 50) 
show args 命令可以查看設置好的運行參數。 

如上所示,這是peda的棧視圖。其中紅色的是棧幀的返回地址,藍色的表示這個值可能為指針。、

針對peda的使用我已經單獨開了一篇文章來寫:http://www.cnblogs.com/Ox9A82/p/5729308.html


免責聲明!

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



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