linux下的GDB除錯 詳細

2021-08-30 09:04:30 字數 1645 閱讀 3846

vim min.c

#輸入min.c的內容

gcc min.c -o min -g #必須寫-g

gdb -q min #除錯可執行程式 -q是為了阻止顯示版本資訊

l # list 顯示源** 一次10行

l # list 顯示源** 接著10行

l # list 顯示源** 接著10行

l 1 #重新顯示前10行 1可換成任意合法行號

b 10 #在第10行設定斷點

b min #在min函式開始(第一天函式體語句)處設定斷點

info b #檢視斷點資訊 會具體顯示在哪個檔案哪一行

r #run 輸入 程式才會執行 並停於斷點處

r #程式執行過程中再次輸入r會提示是否重新開始執行 而並非continue放行

n #next 執行下一條語句 不進入函式 step over

s #step 執行下一條語句 進入函式 step into

p a1 #print 變數名 顯示當前狀態下的變數值,此處顯示變數a1的值

c #continue 放行 執行到下乙個斷點處 若無斷點則執行到程式結束

q #quit 退出gdb

vim min.c

#輸入min.c的內容

gcc min.c -o min -g #必須寫-g

gdb -q min #除錯可執行程式  -q是為了阻止顯示版本資訊

l # list 顯示源** 一次10行

l # list 顯示源** 接著10行

l # list 顯示源** 接著10行

l 1 #重新顯示前10行  1可換成任意合法行號

b 10 #在第10行設定斷點 

b min  #在min函式開始(第一天函式體語句)處設定斷點

info b #檢視斷點資訊 會具體顯示在哪個檔案哪一行

r #run 輸入 程式才會執行 並停於斷點處  

r #程式執行過程中再次輸入r會提示是否重新開始執行 而並非continue放行

n #next 執行下一條語句 不進入函式 step over

s #step 執行下一條語句 進入函式 step into

p a1 #print 變數名 顯示當前狀態下的變數值,此處顯示變數a1的值

c #continue 放行 執行到下乙個斷點處 若無斷點則執行到程式結束

q #quit 退出gdb

例子:

linux下的gdb除錯

如果編譯時,增加了引數 g,就會生成帶源 除錯符號的可執行檔案。增加的除錯符號一般會使檔案變的大一點。gcc o xx xx.c g 進一步地,就可以執行下面的指令啟動除錯工具進入除錯環境對程式進行除錯了。gdb xx 在除錯環境下,可以輸入下列指令來控制除錯。l n第乙個字母是小寫的l,列出第n行...

linux下的gdb除錯

在看gdb除錯多執行緒多程序之前,我們先來回顧一下gdb除錯的一些基本命令 首先vim乙個檔案,然後進行編譯用命令 gcc o test 所要生成的檔案 test1 你剛剛寫的檔案 g 檢查沒有問題後,再gdb test對你寫的檔案進行除錯。進入gdb後,有這些命令可以用 b 行號 表示在哪一行打了...

Linux 下的GDB除錯

1 啟動gdbgdb test2 檢視 l list簡寫 檢視源程式 預設顯示10行,按回車鍵繼續看10行的。3 設定斷點 b break簡寫 格式 b 空格 行號,在某行設定斷點,eg b 20 info breakpoints 顯示斷點資訊 delete 斷點號n 刪除第n個斷點 disable...