GDB調試實用命令

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

相比之下GDB屬於很複雜的了,網上找到的一些GDB的文章列出的每每都是一些沒什麼卵用的命令,因此開個帖子記錄下經常使用的命令。linux

 

插件安裝git

1.gdb-pedagithub

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

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

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

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

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

相關文章
相關標籤/搜索