要使用gdb除錯,gcc編譯時要加上『-g』選項,這樣生成的可執行檔案才能被gdb除錯。
基礎指令
l(list):表示檢視源**,後可跟數字num如:l num,表示檢視**的位置。
b(break):表示設定斷點的位置。b 20 if i=5,用此種方式設定條件斷點,即當for迴圈到i==5時才中斷。
delete:刪除斷點。
r(run):執行程式。
n(next):跳到下一條語句(如果是函式不進入)。
s(step):跳到下一條語句(如果是函式進入)。
p(print):p var,檢視當前作用域內var的值。
display:display var,設定跟蹤變數,每次操作都會列印變數的值 ;要想取消的話用undisplay index,index為變數的編號。
continue:繼續執行程式。
quit:跳出當前除錯。
finish:結束當前函式呼叫。
ptype:檢視變數的型別(執行到當前context下的作用域)。
bt(backtrace):檢視當前存活的棧幀。
fram:根據棧幀編號切換棧幀。
info:檢視各種資訊,如info f,檢視當前棧幀資訊;info line 檢視指定行的原始碼在執行時的記憶體位址。
set follow-fork-mode child/parent:設定gdb的跟蹤物件是子程序還是父程序。
GDB除錯基礎
breakpoint 2,func n 250 at tst.c 5 5 int sum 0,i gdb n 6 for i 1 i n i gdb p i 列印變數i的值,print命令簡寫。1 134513808 gdb n 8 sum i gdb bt 檢視函式堆疊。0 func n 250 ...
程式除錯gdb基礎
gcc 編譯器 gcc是linux平台下最重要的開發工具,它是gnu的c和c 編譯器,它總共提供的編譯選項超過100個,但只有少數幾個會被頻繁使用,收集如下。其基本用法為 gcc options filenames 最簡單的編譯方法是不指定任何編譯選項,會為目標程式生成預設的檔名a.out o 為將...
GDB 基礎除錯總結
gdb是乙個由gnu開源組織發布的 unix linux作業系統下的 基於命令列的 功能強大的程式除錯工具。基礎除錯命令 命令 解釋 示例 file 檔名 載入被除錯的可執行程式檔案。因為一般都在被除錯程式所在目錄下執行gdb,因而文字名不需要帶路徑。gdb file gdb sample rrun...