[toc]
gdb是乙個由gnu開源組織發布的、unix/linux作業系統下的、基於命令列的、功能強大的程式除錯工具。 對於一名linux下工作的c++程式設計師,gdb是必不可少的工具;
對於c/c++程式,編譯的時候需要加上-g
引數生成除錯資訊。如:gcc -g hello.c -o hello
啟動gdb後,進入到互動模式,通過以下命令完成對程式的除錯;高頻使用的命令一般都會有縮寫,熟練使用這些縮寫命令能提高除錯的效率;
執行continue: 縮寫為 c
,繼續執行,到下乙個斷點(沒有斷點就執行到程式結束)。
step: 縮寫為 s
,單步除錯如果遇到函式則進入函式;與命令n
不同,n是不盡然呼叫的函式的,step 相當於vs的 f11。
next:縮寫為 n
,單步跟蹤程式,當遇到呼叫函式時不進入函式;此命令與step的主要區別是,step 遇到使用者自定義的函式,進步入到函式中執行,而 next 則是直接呼叫函式,不會進入到函式內,next 相當於vs的 f10。
until
: 當進入到迴圈中時,使用until命令可以使程式直接執行到退出迴圈體。
until+行號
:執行至指定行,不僅僅用來跳出迴圈。
call 函式(引數)
: 呼叫程式中的函式,並傳遞「引數」,如:call add(3,2)
quit: 縮寫為q
,退出gdb。
設定斷點
gdb使用break(縮寫為 b)
來設定斷點,具體使用如下:
檢視源**
列印表示式
查詢查詢執行資訊
分割視窗
使用gdb除錯應用程式
目錄 gdb是乙個由gnu開源組織發布的 unix linux作業系統下的 基於命令列的 功能強大的程式除錯工具。對於一名linux下工作的c 程式設計師,gdb是必不可少的工具 對於c c 程式,編譯的時候需要加上 g引數生成除錯資訊。如 gcc g hello.c o hello 啟動gdb後,...
gdb單步除錯c應用程式
0 報錯資訊 2019 12 28 14 59 34 023 kms server.c 0178 get the sign sigse 2019 12 28 14 59 34 023 kms server.c 0180 kms exit by signal 11 1 檢視程序號 imipay ips...
linux應用程式設計 GDB除錯
gdb簡介 gdb是gnu發布的一款功能強大的程式除錯工具,gdb主要完成下面三個方面功能 一 gdb的使用操作 1.啟動被除錯程式。2.讓被除錯的程式在指定的位置停住。3.當程式被停住時,可以檢查程式狀態 如變數值 gdb除錯例項 1.在linux下編寫test.c程式 1 include 2 3...