Linux調試器—gdb的使用

  1. 調試與發布版本的區別

調試版本(debug)和發布版本(release)是軟件開發中常見的兩種編譯方式。調試版本包含調試信息,幫助開發者查找和修復代碼中的錯誤。發布版本則優化性能,去除調試信息,適用于最終用戶。

Linux調試器—gdb的使用


  1. gcc 的默認行為

gcc 的默認行為是生成優化級別為 -O0 的調試版本二進制文件,包含調試符號,方便開發者使用調試器進行調試。

Linux調試器—gdb的使用


  1. gdb 的基礎操作

3.1 啟動和退出

啟動 gdb 使用 gdb 程序名 命令,退出 gdb 使用 quit 或 q 命令。

Linux調試器—gdb的使用

3.2 顯示代碼

使用 list 或 l 命令加行號,可以顯示指定行號的代碼。

Linux調試器—gdb的使用


3.3 開始運行代碼和設置斷點

使用 run 或 r 命令開始運行代碼,使用 break 或 b 加行號設置斷點。

Linux調試器—gdb的使用


3.4 設置函數斷點和文件行號斷點

使用 break 或 b 加函數名設置函數斷點,使用 break 或 b 加文件名和行號設置文件行號斷點。

Linux調試器—gdb的使用


3.5 查看斷點信息

使用 info breakpoints 或 info b 命令查看已設置的斷點信息。

Linux調試器—gdb的使用


3.6 刪除斷點

使用 delete 或 d 加斷點編號刪除指定斷點。

Linux調試器—gdb的使用

3.7 禁用和啟用斷點

使用 disable 加斷點編號禁用斷點,使用 enable 加斷點編號啟用斷點。

Linux調試器—gdb的使用


3.8 逐過程和逐語句調試

使用 next 或 n 逐過程調試,使用 step 或 s 逐語句調試。

Linux調試器—gdb的使用Linux調試器—gdb的使用


3.9 顯示和取消顯示變量

使用 display 加變量名或地址持續顯示變量,使用 undisplay 加變量名或地址取消持續顯示。

Linux調試器—gdb的使用


3.10 跳轉到下一個斷點

使用 continue 或 c 命令從當前斷點跳轉到下一個斷點。

Linux調試器—gdb的使用


3.11 運行到函數結束

使用 finish 命令運行當前函數到結束。

Linux調試器—gdb的使用


3.12 跳轉到指定行

使用 until 或 u 加行號命令跳轉到指定行。

Linux調試器—gdb的使用


3.13 修改變量值

使用 set var 加變量名和值命令在不改變代碼的情況下修改變量值。

Linux調試器—gdb的使用


3.14 查看調用

使用 backtrace 或 bt 命令查看當前的調用堆棧。

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享