Linux gdb偵錯程式

2021-10-18 15:51:53 字數 1294 閱讀 2180

除錯、觀察程式的執行錯誤,通常目的是為了排查程式的執行錯誤

編譯錯誤、鏈結錯誤、執行時錯誤(執行時邏輯不對以及執行時程式崩潰)

程式必須是乙個debug版本的程式; gcc/g++預設生成releas版本的程式,若要生成debug版本,則使用-g選項,例如:gcc -g test.c -o test.exe

debug-除錯版:不對**進行優化,並且加入除錯程式資訊;

release-發布版:不包含除錯資訊,並且對**進行優化

gdb ./test.exe 表示除錯test.exe檔案

run:直接執行程式

start:開始逐步除錯

list:檢視除錯行附近** 例:list test.c:12

next:逐過程–遇到函式直接執行完畢

step:逐語句–遇到函式則進入函式內部繼續除錯

until:直接執行到指定位置 例:until test.c :16 直接執行到16行

continue:繼續從當前位置執行

break:打斷點 例如:break test.c:14 在test.c檔案的第14行處新增斷點

info break:檢視斷點資訊

delete:刪除斷點 例:delete id(後跟斷點id,可用info break檢視)

watch:變數監控斷點–當變數發生變化的時候停止除錯,後跟變數名

quit:退出gdb除錯

print:檢視嚯設定變數內容; 例:print var_name   print var=val

backtrac:檢視函式呼叫棧--通常用於檢測程式執行時的崩潰位置

注意:以上大部分操作也可以用首字母簡寫實現,但有個別指令首字母存在歧義,不能簡寫,在實際操作時要注意。

Linux gdb偵錯程式

gdb的啟動 gdb 程式名 corefile corefile是可選的,但能增強gdb的除錯能力 強調 啟動gdb必須在編譯命裡加上 g 引數,g 一般寫在遍歷命令的靠前位置,例如 gcc wall g o hello.o c hello.c q 命令 命令格式 gdb q 執行程式 不顯示gdb...

linux GDB偵錯程式的使用

gdb 偵錯程式 除錯是所有程式設計師都會面臨的問題。如何提高程式設計師的除錯效率,更好更快地定位 程式中的問題從而加快程式開發的進度,是大家共同要面對問題。就如讀者熟知的 windows 下的一些除錯工具,如 vc 自帶的如設定斷點 單步跟蹤等,都受到了廣大使用者 的讚賞。那麼,在 linux 下...

python的偵錯程式 Python 偵錯程式入門

python 生態系統包含豐富的工具和庫,可以讓開發人員更加舒適。例如,我們之前已經介紹了如何使用互動式 shell 增強 python。本文重點介紹另一種可以節省時間並提高 python 技能的工具 python 偵錯程式。python 偵錯程式 python 標準庫提供了乙個名為 pdb 的偵錯...