1. 程式人生 > >GDB調試器

GDB調試器

連續 跟蹤 自動 必須 自動調用 命令選項 區域 內存地址 產生

---恢復內容開始---

gdb是Linux下一款功能強大的C/C++程序調試器,能夠在程序運行的過程中觀察程序的內部結構和內存的使用情況。

一般來說,gdb的主要功能有:

1、設置斷點(斷點可以是條件表達式),使程序在指定的代碼行上暫停執行,便於觀察;

2、單步執行程序,便於調試;

3、查看程序中變量值的變化;

4、動態改變程序的執行環境;

5、分析崩潰程序產生的core文件。

在gdb後面給出文件名,直接制定想要調試的程序,gdb就會自動調用這個可執行文件進行調試,如:

#gdb filename

註意:為了使gdb正常工作,必須使程序在編譯的時候包含調試信息,這需要在gcc編譯時加上-g或者-ggdb選項。調試信息包含了程序中每個變量的類型和在可執行文件中的地址映射及源代碼的行號。

gdb常用的命令:

File:裝入想要調試的可執行文件

run:執行當前被調試的程序

kill:終止正在調試的程序

step:執行一行源代碼而且進入函數內部

next:執行一行源代碼但不進入函數內部

break:在代碼裏設置斷點,這將使程序執行到這裏時被掛起

print:打印表達式或變量的值,或打印內存中某個變量開始的一段連續區域的值,還以用來對變量進行賦值

display:設置自動顯示的表達式或變量,當程序停住或在單步跟蹤時,這些變量會自動顯示其當前值

list:列出產生執行文件的源代碼的一部分

quit:退出gdb

watch:使你能監視一個變量的值而不管它何時被改變

backtrace:回溯跟蹤

frame n:定位到發生錯誤的代碼段,n為backtrace命令的輸出結果中的行號

examine:查看內存地址中的值

jump:使程序跳轉執行

signal:產生信號量

return:強制函數返回

call:強制調用函數

make:使用戶不退出gdb就可以重新產生可執行文件

shell:使用戶不離開gdb就執行Linux的Shell命令

用戶可以通過在gdb下輸入“help”命令來查看如何使用gdb,或者是在命令提示符下輸入“gdb h”來得到一個關於gdb命令選項說明的簡單列表。

---恢復內容結束---

GDB調試器