CTF-二進位制從入門到放棄(二)-gdb的使用
阿新 • • 發佈:2021-08-01
*****gdb除錯 *****
1.開始除錯
gdb file
set args p1 p2
2.gdb控制
start 開始
quit/q 退出
3.控制流
r/run 啟動程式
c/continue 繼續執行
n/ni/next 單步步過
s/si/step 單步步入
finish 執行到返回
[檢視]:
bt/backtrace 檢視堆疊函式呼叫
p/print 列印 p/[type] [command]
[type]:
s 按字串顯示
x 按十六進位制格式顯示變數。
i/d 按十進位制格式顯示變數。
t 按二進位制格式顯示變數。
c 按字元格式顯示變數。
f 按浮點數格式顯示變數。
o 按八進位制格式顯示變數。
u 按十六進位制格式顯示無符號整型。
a 按十六進位制格式顯示變數。
x/examine檢視 x/[size][PostBytes][type] [addr]
e.g. x/200wx $eax
i r /args/locals 檢視暫存器/引數/區域性變數
[PostBytes]:
b/h/w/g(單/雙/四/八位元組)
4.斷點
b/brak funname/addr 斷點
info b 列出所有斷點資訊
del/delete 刪除指定序號的斷點 del 2
clear 清楚指定地址的斷點 ,無地址為所有
5.修改資料
set $xxx=value
set{[type]}[addr]=value type:int………………
6.回車預設為上一條指令