使用gdb除錯應用程式

2021-10-09 13:06:50 字數 906 閱讀 3738

[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...