【Linux C/C++】 第07講 gdb除錯工具詳解
當你需要單步跟蹤除錯的時候,就必然會用到gdb工具,不同於VS方便的除錯方式,gdb的除錯並不是那麼的方便直觀。不要降低熱情,熟練以後你會發現Linux下的程式設計方式非常好用。
一、簡介
gdb是GNU釋出的一款功能強大的程式除錯工具。
gdb主要完成下面三個方面的功能:
1. 啟動被除錯程式
2. 讓被除錯程式在指定位置停住
3. 當程式被停住時,檢查程式狀態(如變數值)
二、 gdb工具的命令使用
1. 編譯生成可執行檔案
gcc -g crawler.c -o bin/crawler
根據【第03講 Makefile詳解】,可以把個命令寫到makefile裡面
2. 啟動gdb
gdb bin/crawler
3. 設定/檢視/刪除斷點
3.1 在函式處設定斷點
break 函式名
break main ->在main函式處設定一個斷點
3.2 在檔案的某一行設定斷點
break 檔名:行號
break main.cpp:52
3.3 設定斷點條件
break 行號 if 條件
break 25 if i = 10
3.4 info break -> 檢視所有設定的斷點
3.5 delete 斷點編號 -> 刪除斷點
4. 執行程式
run -> 執行,並在遇到斷點時停止
5. 顯示檔案的接下來的幾行
list -> 簡寫為 l
6. 檢視變數的值
6.1 print -> 檢視指定變數值
6.2 watch -> 對指定變數進行監控,當變數有變化時斷點
7. 單步執行
next -> 不進入子函式
step -> 進入子函式
8. 繼續執行
continue -> 繼續執行,直到遇到下一個斷點
finish -> 繼續執行,直到當前函式結束
9. 停止除錯
quit -> 退出gdb