1. 程式人生 > 實用技巧 >巧用你的GDB

巧用你的GDB

一、除錯段錯誤

當執行程式發生段錯誤時,使用GDB除錯能快速定位錯誤位置
Linux提供的core dump機制:當程式中出現記憶體操作錯誤時,會發生崩潰併產生核心檔案(core檔案)。

(1)無論你是用Makefile來編譯,還是直接在命令列手工輸入命令來編譯,都應該加上 -g 選項。

(2)一般來說,在預設情況下,在程式崩潰時,core檔案是不生成的(很多Linux發行版在預設時禁止生成核心檔案)。所以,你必須修改這個預設選項,在命令列執行:

$ ulimit -c unlimited  // 不限制生成的core檔案的大小

(3)執行你的程式,使之重現Segmentation Fault錯誤。

(4)這時,你會發現在你程式同一目錄下,生成了一個檔名為 core.*** 的檔案,即核心檔案。例如,“core.1523”這樣的檔案。

(5)用GDB除錯它。假設你的可執行程式名為test,則在命令列執行:

$ gdb test core.1523

二、除錯軟體Bugs