gdb除錯及gdbserver遠端除錯

2021-06-16 03:01:55 字數 1426 閱讀 9275

gdb偵錯程式是一款gnu開發組織並發布的unix/linux下的程式除錯工具,具有強大的功能,足有與visual stido媲美,當然友好的介面是沒法相比的,呵呵。

開始編譯程式將除錯資訊包含進去,gdb偵錯程式執行在shell中輸入gdb就好,也可以輸入gdb filename,filename是待除錯程式名,下面就按斷點、單步等命令乙個乙個介紹。

1. 進入gdb        gdb

退出gdb        q(uit)

裝入除錯檔案 file filename

終止除錯程式 kill

2. 顯示源** l(ist )

list n 顯示第n行上下5行的**

3. 斷點break

b(reak)  n  在第n行設定斷點 

b   函式名    在函式名設定斷點

b   [檔名:]  行號或函式名   在檔案中特定行或特定函式設定斷點

b   [檔名:]  行號或函式名 《條件表示式》  滿足條件表示式才進入斷點

設定的斷點都會返回乙個斷點編號,上面的類似還有tbreak臨時斷點,達到斷點後就指定備刪除。

delete   [斷點號]   刪除指定斷點

clear                    清除所有斷點

info                      檢視斷點資訊

disable  [斷點號]   停止斷點

enable   [斷點號]   使能斷點 

ingore [斷點號] 忽略斷點num次

condtion[斷點號]《條件表示式》 修改斷點的條件

4.  單步

n(ext) 相當於step over

s(tep) 相當於step in

5.  執行程式 r(un) funpara

接著執行程式 c(ontinue)

6. 手動設定變數值 set variable i=4

遠端gdb除錯,嵌入式開發目標板資源有限,沒法在目標板上直接進行除錯,通常實用gdb+gdbserver的方式進行除錯,gdbserver執行在目標板上,gdb執行在宿主機上。

首先,目標板要包含gdbserver,在目標板上啟動gdbserver服務,進入要除錯程式所在目錄,輸入下面命令:

表示在目標系統2000埠開啟乙個除錯程序,example為要除錯的程式

然後在宿主機上啟動gdb程式,同樣進入要除錯檔案所在目錄,啟動偵錯程式,裝入除錯檔案,輸入下面命令

連線目標板連線,輸入命令:

連線成功後,目標板顯示

remote debugging using:2000

這樣連線就成功了,各種命令就可以用了,還有個注意,gdbserver預設程式就執行了,所以不需要在用run命令了。

gdb和gdbserver的安裝和除錯

嵌入式linux的gdb除錯環境由host和target兩部分組成,host端使用arm linux gdb,target board端使用gdbserver。除錯時,應用程式在嵌入式目標系統上執行,而gdb除錯在host端。gdb除錯的時候,pc機上的gdb向開發板上的gdbserver發出命令,...

使用GDB和GDBServer除錯程式

2019年02月26日 10 26 55 siemens xp 閱讀數 61 硬體平台,ti am3352 目標板ip192.168.0.15 宿主機ip 192.168.0.55 軟體平台,ubuntu 交叉編譯器 arm linux gnueabihf gcc 選擇版本為gdb 7.7.1 ta...

gdb和gdbserver除錯開發板

2.編譯 cd gdb 7.11.50.20160801 configure target arm linux prefix pwd build v make make install 至此,gdb安裝完成。接下來為linux arm安裝gdbserver cd gdb 7.10.1 gdb gdb...