Linux下的gdb(GNU Debugger)是一個用來調試C、C++程序的調試器(命令行方式的調試器),能夠在程序運行期間觀察程序的內部結構和內存的使用情況。程序員也可以使用gdb來跟蹤程序中的錯誤,從而減少程序員的工作量。gdb主要提供以下功能:
- 設置斷點(斷點可以是條件表達式),使程序在指定的代碼行上暫停執行,便于觀察;
- 單步執行程序,便于調試;
- 查看程序中變量值的變化;
- 動態改變程序的執行環境;
- 分析崩潰程序產生的core文件。
gdb filename? //gdb自動調用該文件進行調試
或者:
gdb??? //先啟動gdb調試工具
File filename //通過File命令裝入想要調試的文件
為了使gdb調試工作,編譯的時候要包含調試信息(-g或-ggdb),調試信息包含了程序中的每個變量類型和在可執行文件中的地址映射及源代碼的行號。而gdb正是利用這些信息使源代碼和機器碼相關聯。
gcc -ggdb3 -pipe -Wall -pedantic -o?hello hello.c