逆向工具 GDB 基本影片教學

发布日期:2026-02-01 02:00:28 分类:365bet官网地址 浏览:2902

GDB 基本教學

(影片教學在文章最下方)

1. GDB 介紹

GDB(GNU Debugger)是一個強大的調試工具,可用於調試 C、C++ 及其他語言的程式。它允許你設置斷點、單步執行程式、檢查變數值、修改記憶體等。

2. 安裝 GDB

Linux(Ubuntu/Debian)

sudo apt update

sudo apt install gdb

macOS(透過 Homebrew)

brew install gdb

Windows

可透過 MinGW 或 Cygwin 來安裝 GDB。

3. 編譯程式以供 GDB 除錯

在編譯時,需要加上 -g 選項來產生除錯資訊。

gcc -g -o my_program my_program.c

4. 啟動 GDB

gdb my_program

或執行並傳遞參數:

gdb --args my_program arg1 arg2

5. GDB 常用指令

5.1 設置斷點

設定函式內的斷點: break main

設定特定行號的斷點: break 10

設定特定檔案與行號的斷點: break my_program.c:15

5.2 執行程式

執行程式(會停在第一個斷點): run

帶參數執行: run arg1 arg2

5.3 單步執行

執行下一行程式碼(會進入函式內部): step

執行下一行程式碼(不進入函式內部): next

繼續執行直到遇到下一個斷點或程式結束: continue

執行到當前函式返回: finish

5.4 變數與記憶體檢查

顯示變數值: print x

監視變數變化: watch x

列出當前函式的所有變數: info locals

5.5 監控執行狀態

查看呼叫堆疊: backtrace

切換堆疊幀(frame): frame 2

5.6 修改變數值

變更變數內容: set var x = 10

5.7 移除斷點

列出所有斷點: info breakpoints

刪除特定斷點(例如刪除 1 號斷點): delete 1

5.8 退出 GDB

退出除錯模式: quit

6. GDB 進階功能

6.1 記錄程式執行

使用 record 指令記錄程式執行過程: record

反向執行(撤銷一步): reverse-step

反向繼續執行: reverse-continue

6.2 追蹤記憶體

檢查記憶體地址: x/10xw 0x601040

檢視指標指向的內容: print *ptr

螢幕錄影版本

簡報版本