linux下gdb的除錯使用

2021-08-09 15:40:54 字數 1178 閱讀 8575

1.gdb除錯的物件是可執行檔案,而不是程式的源**。因此在使用gcc編譯器時 需加-g選項。告訴gcc編譯器加入除錯資訊。

例如 gcc -g test.c -o test

2.除錯gdb的格式是

例如 gdb test

3.在啟動gdb後,會顯示一段版權說明,如果要不顯示 加入-q即可

例如 gdb -q test

4.如果要退出時使用 quit命令

5.顯示和查詢程式源**

list 5,10:顯示第5行到第10行**

list test.c:5,10 :顯示test.c 的第5行到第10行**

list get_sum :顯示get_sum函式周圍的**

list test.c:get_sum:顯示test.c檔案的get_sum函式周圍的**

6.如果在除錯過程中要執行linux命令,則可在gdb的提示符下輸入shell命令

例如:shell ls

7.使用gdb -q test或 file test只是裝入程式,程式並沒有執行,如果要程式執行,在gdb提示符下輸入 run就好

8.設定和管理斷點

例如:break 7 在第7行設定斷點

然後輸入run 即可

也可在函式處設定斷點 例如break get_sum

8.1 還有一種方法設定斷點的命令 

watch i == 99 

9.要使程式繼續進行 則輸入continue 或者next 

10.可使用print 列印出來變數的值

11.檢視當前設定的中斷點 

info breakpoints

12.使中斷失效或有效

disable 斷點編號(失效)   enable 斷點編號(恢復有效)

13.刪除斷點 

diasble 或者 clear 命令(後面新增行號或者斷點編號)

14.檢視和設定變數的值

1.print' 變數或表示式:列印變數或表示式當前的值

變數=值: 對變數進行賦值

表示式@要列印的值得個數n列印表示式值開始的n個數

15.whaits

顯示某個變數或者表示式值得資料型別

16.控制程式的執行

kill:結束當前程式的除錯

next和step:一次一條的執行。next執行函式呼叫後的語句;而step 則會跟蹤進入函式

linux下如何使用gdb除錯

gdb是linux下非常好用的乙個除錯工具,雖然它是命令列模式的除錯工具,但是它的功能強大到你無法想象,這裡簡單介紹下gdb下常用的命令。首先編譯生成可執行檔案 這裡的test.c是乙個簡單的求前n項和的程式 gcc g test.c o test g選項告訴gcc在編譯程式時加入除錯資訊 接下來可...

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 行號 表示在哪一行打了...