gdb 是gnu開源組織發布的乙個強大的unix下的程式除錯工具。或許,各位比較喜歡那種圖形介面方式的,像vc、bcb等ide的除錯,但如果你是在 unix平台下做軟體,你會發現gdb這個除錯工具有比vc、bcb的圖形化偵錯程式更強大的功能。所謂「寸有所長,尺有所短」就是這個道理。 一般來說,gdb主要幫忙你完成下面四個方面的功能:
啟動你的程式,可以按照你的自定義的要求隨心所欲的執行程式。
可讓被除錯的程式在你所指定的調置的斷點處停住。(斷點可以是條件表示式)
當程式被停住時,可以檢查此時你的程式中所發生的事。
動態的改變你程式的執行環境。
從上面看來,gdb和一般的除錯工具沒有什麼兩樣,基本上也是完成這些功能,不過在細節上,你會發現gdb這個除錯工具的強大,大家可能比較習慣了圖形化的除錯工具,但有時候,命令列的除錯工具卻有著圖形化工具所不能完成的功能。讓我們一一看來。
gdb基本命令列表:
例項:1 新建乙個原始檔vi swap.cc
原始檔內容如下:
#include
using namespace std;
void swap(int &a,int &b)
int main()
{int i,j;
cout<>i>>j;
cout<
2.生成可執行檔案 g++ -g -o swap swap.cc,注意必須使用
-g引數,編譯會加入除錯資訊,否則無法除錯執行檔案
3.啟動除錯 gdb swap
3.1 檢視原始檔 list 1,回車重複上一次指令
3.2設定除錯斷點 break 16,在第16行設定斷點,info break檢視斷點資訊(亦可使用縮寫i b )
3.3 除錯 執行 輸入run 或者r
3.3 單步除錯,step 或者 s進入函式內部
3.4檢視變數print b 或者 p b
3.5檢視函式堆疊bt,退出函式finish
3.6 繼續執行直到下乙個斷點或主函式結束continue或者c
3.7 退出除錯 輸入q
linux下gdb常用的除錯命令
用gdb除錯程式時,常常很困惑一些命令的使用,要麼是不知道這個命令,要麼忘了命令的使用方法。呵呵,有時迷茫了自己處在什麼堆疊的深處,這是使用where命令能夠清晰的看到自己的位置,有時在迴圈太多讓人受不了了,可使用u或者finish或者jump命令來跳出去。gdb常用 run 啟動程式執行 next...
linux掃盲之linux下常用FTP命令
格式 ftp hostname ip address a 在linux命令列下輸入 ftp 192.168.1.1 b 伺服器詢問你使用者名稱和密碼,分別輸入使用者名稱和相應密碼,待認證通過即可。格式 get remote file local file 將檔案從遠端主機中傳送至本地主機中。如要獲取...
Linux下的gdb的常用除錯命令
linux下有乙個強大的除錯工具gdb,gdb可以除錯c c d go python pascal assemble ansi 彙編標準 等等程式語言。課件gdb除錯工具的強大。在此總結了gdb除錯c語言常用的一些命令。一般來說,gdb主要幫忙你完成下面四個方面的功能 1 啟動你的程式,可以按照你的...