我們在寫程式時往往不能一次寫到位,而是需要不斷的檢查,最終才能有我們你想要的程式;而為了方便檢查,就有人發明了除錯工具;而我們今天要介紹的就是linux中的除錯工具——gdb
剛接觸gdb感覺這個除錯工具真難用,即不方便又不直觀,但是在接觸一段時間並熟悉之後發現這東西還是不好用;(相比於整合開發軟體);但是該學的還是要學呀;下面就是阿鯉對gdb的學習總結,希望對大家有所幫助。
在說除錯命令之前,需要介紹以下程式發布的版本;程式發布的版本分別有release版本和debug版本;release版本是面向客戶的,其中是不會報錯,當然也不會含有除錯資訊,所以其大小會小一點;debug版本是面向程式設計師的其中包含了除錯資訊;而我們使用gdb肯定用的是debug版本;(c程式生成debug版本的命令gcc -g file.c).
接下來介紹的就是除錯命令了。
阿鯉在這裡以使用頻率進行排序
gdb file
進入檔案準備除錯
start
程式開始除錯
n逐行走
s進入函式
display 變數名
一直顯示變數大小
break 行號
在這行打斷點
info break
檢視斷點資訊
r執行程式(遇到斷點停止)
p列印變數值q退出
c:從當前位置開始連續而非單步執行程式
set var
修改變數的值
list
顯示源**(每次顯示十行)
until 行號
跳至這一行
linux除錯工具GDB
gdb偵錯程式除錯的物件是可執行檔案,使用gcc或者g 編譯器編譯源 時,必須加上 g才能使目標可執行檔案包含可被除錯的資訊。比如 gcc g o helloworld helloworld.c 編譯並連線程式,使之包含可被除錯資訊 gdb helloworld 使用gdb偵錯程式開啟hellowo...
除錯工具 gdb
gcc o a.out a.c gdb q a.out break main info register i r objdump d a.out grep a20 main.轉換為機器 objdump m intel d a.out grep a20 main.gdb 設定 1 gdb q 2 se...
gdb除錯工具
檢視幫助一是man 命令,二是進入 www.gnu.org 找到gdb的幫助文件 更詳細 gcc wall g main.c o main,只有這樣才能產生除錯資訊,包括core的除錯資訊。一 常用命令 run r 執行,執行到斷點,重新用r,表示重新開始執行。list l 列出源 l 2,l ma...