日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux下如何安裝GDB?詳細(xì)指南(gdblinux安裝)

GDB是一款Linux下非常實(shí)用的調(diào)試工具,它可以幫助程序員在調(diào)試過程中找出代碼中的錯(cuò)誤。在Linux系統(tǒng)中,安裝GDB非常簡單,本文將為您提供詳細(xì)的安裝步驟。

創(chuàng)新互聯(lián)建站是專業(yè)的花溪網(wǎng)站建設(shè)公司,花溪接單;提供網(wǎng)站設(shè)計(jì)、網(wǎng)站制作,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行花溪網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

1.更新軟件源列表

在安裝之前,需要先更新一下軟件源列表。使用如下命令更新:

“`

sudo apt-get update

“`

2.安裝GDB

在更新了軟件源列表之后,可以使用如下命令安裝GDB:

“`

sudo apt-get install gdb

“`

安裝過程中需要輸入管理員密碼。

3.測試GDB是否安裝成功

完成了GDB的安裝之后,可以通過如下命令測試是否安裝成功:

“`

gdb –version

“`

如果GDB已經(jīng)成功安裝,將會(huì)顯示出它的版本號(hào)。

4.安裝GDB的圖形界面工具

如果你習(xí)慣使用圖形界面的工具,那么可以通過如下命令來安裝GDB的圖形界面工具:

“`

sudo apt-get install ddd

“`

完成安裝后,可以通過如下命令啟動(dòng)ddd:

“`

ddd

“`

5.開始使用GDB進(jìn)行調(diào)試

當(dāng)GDB和ddd都被安裝后,就可以開始使用它們進(jìn)行調(diào)試了。下面是常用的GDB調(diào)試操作:

(1)在GDB中運(yùn)行可執(zhí)行文件

使用如下命令在GDB中運(yùn)行可執(zhí)行文件:

“`

gdb executable_file

“`

(2)設(shè)置斷點(diǎn)

使用如下命令可以設(shè)置斷點(diǎn):

“`

break line-number

“`

該命令將在指定的行號(hào)處設(shè)置斷點(diǎn)。

(3)運(yùn)行程序

使用如下命令可以運(yùn)行程序:

“`

run

“`

(4)單步執(zhí)行

使用如下命令可以單步執(zhí)行:

“`

step

“`

該命令將會(huì) 進(jìn)入到程序的下一條語句中,如果當(dāng)前語句是函數(shù)調(diào)用,將會(huì)進(jìn)入到函數(shù)的內(nèi)部。

(5)顯示代碼

使用如下命令可以顯示代碼:

“`

list

“`

該命令將顯示接下來幾行的代碼。

(6)查看變量值

使用如下命令可以查看變量的值:

“`

print variable_name

“`

(7)繼續(xù)執(zhí)行程序

當(dāng)程序遇到斷點(diǎn)時(shí)會(huì)停止,使用如下命令可以繼續(xù)執(zhí)行程序:

“`

continue

“`

6.

在Linux系統(tǒng)下安裝GDB非常簡單,只需要使用幾個(gè)命令就可以完成。當(dāng)然,在使用GDB進(jìn)行調(diào)試時(shí),還需要掌握一些基本的命令,希望本文能夠?qū)δ兴鶐椭?/p>

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!

嵌入式Linux的GDB遠(yuǎn)程調(diào)試如何實(shí)現(xiàn)呢?

有道啟升豎新嵌入式研究院——遠(yuǎn)程調(diào)試環(huán)境由宿主機(jī)GDB和目標(biāo)機(jī)調(diào)試stub共同構(gòu)成,兩者通過串口或TCP連接。使用GDB標(biāo)準(zhǔn)遠(yuǎn)程串行協(xié)議協(xié)同工作,實(shí)現(xiàn)對目標(biāo)機(jī)上的系統(tǒng)內(nèi)核和上層應(yīng)用的監(jiān)控和調(diào)試功能。調(diào)試stub是嵌入式系統(tǒng)中的一段代碼,作為宿主機(jī)GDB和目標(biāo)機(jī)調(diào)試程序間的一個(gè)媒介而存在。

 

  就目前而言,嵌入式Linux系統(tǒng)中,主要有三種遠(yuǎn)程調(diào)試方法,分別適用于不同場合的調(diào)試工作:用ROM Monitor調(diào)試目標(biāo)機(jī)程序、用KGDB調(diào)試系統(tǒng)內(nèi)核和用gdbserver調(diào)試用戶空間程序。這三種調(diào)試方法的區(qū)別主要在于,目標(biāo)機(jī)遠(yuǎn)程調(diào)試stub的存在形式的不同,而其設(shè)計(jì)思路和實(shí)現(xiàn)方法則是大致相同的。

 

  而我們最常用的是調(diào)試應(yīng)用程序。就是采用gdb+gdbserver的方式進(jìn)行調(diào)試。在很多情況下,用戶需要對一個(gè)應(yīng)用程序進(jìn)行反復(fù)調(diào)試,特別是復(fù)雜的程序。采用GDB方法調(diào)試,由于嵌入式系統(tǒng)資源有限性,一般不能直接在目標(biāo)系統(tǒng)上進(jìn)行調(diào)試,通常采用gdb+gdbserver的方式進(jìn)行調(diào)試。Gdbserver在目標(biāo)系統(tǒng)中運(yùn)行,gdb則在宿主機(jī)上運(yùn)行。

 

  要進(jìn)行GDB調(diào)試,目標(biāo)系統(tǒng)必須包括gdbserver程序,宿主機(jī)也必須安裝gdb程指轎序。一般linux發(fā)行版中都有一個(gè)可以運(yùn)行的gdb,但開發(fā)人員不吵逗大能直接使用該發(fā)行版中的gdb來做遠(yuǎn)程調(diào)試,而要獲取gdb的源代碼包,針對arm平臺(tái)作一個(gè)簡單配置,重新編譯得到相應(yīng)gdb.gdb的源代碼包可以從

下載,最新版本為gdb-6.4.下載到某個(gè)目錄,筆者下載到自己的用戶目錄:/home/vicky.下載完后,進(jìn)入/home/vicky目錄,配置編譯步驟如下:

#tar jxvf gdb-6.4-tar-bz2

#cd gdb-6.4

#./configure –target=arm-linux –prefix=/usr/local/arm-gdb -v

#make

(這一步的時(shí)候可能會(huì)有問題,提示一個(gè)函數(shù)中(具體函數(shù)名不記得了)parse error,就是unsigned前邊多了一個(gè)”}”,你用vi進(jìn)入那一行把它刪掉就行了。)

#make install

#export PATH=$PATH:/usr/local/arm-gdb

進(jìn)入gdbserver目錄:

#./configure –target=arm-linux –host=arm-linux

#make CC=/usr/local/arm/2.95.3/bin/arm-linux-gcc

(這一步要指定arm-linux-gcc的位置,可能跟你的不一樣)

  沒有錯(cuò)誤的話就在gdbserver目錄下生成gdbserver可執(zhí)行文件,把它燒寫到flash的根文件系統(tǒng)分區(qū),或通過nfs mount的方式都可以。只要保證gdbserver能在開發(fā)板上運(yùn)行就行。

 

  下面就可以用gdb+gdbserver調(diào)試我們開發(fā)板上的程序了。在目標(biāo)板上運(yùn)行g(shù)dbserver,其實(shí)就是在宿主機(jī)的minicom下,我的red hat linux裝在vmware下的。我是在minicom下#mount 192.168.2.100:/ /tmp后做的(這里參數(shù)-o nolock可以不加,不加這一步執(zhí)行得反而更快些),hello和gdbserver都是位于linux根目錄下,把主機(jī)根目錄掛在到開發(fā)板的/tmp目錄下。

要進(jìn)行g(shù)db調(diào)試,首先要在目標(biāo)系統(tǒng)上啟動(dòng)gdbserver服務(wù)。在gdbserver所在目錄下輸入命令:

 (minicom下)

#cd /tmp

#./gdbserver 192.168.2.100:2345 hello

192.168.2.100為宿主機(jī)IP,在目標(biāo)系統(tǒng)的2345端口開啟了一個(gè)調(diào)試進(jìn)程,hello為要調(diào)試的程序。

出現(xiàn)提示:

Process /tmp/hello created: pid=80

Listening on port 2345

(另一個(gè)終端下)

#cd /

#export PATH=$PATH:/usr/local/arm-gdb/bin

#arm-linux-gdb hello

(gdb) target remote 192.168.2.223:2345

(192.168.2.223為開發(fā)板IP)

出現(xiàn)提示:

Remote debugging using 192.168.2.223:2345

0x40002a90 in ??()

同時(shí)在minicom下提示:

Remote debugging from host 192.168.2.100

(gdb)

連接成功,這時(shí)候就可以輸入各種gdb命令如list、run、next、step、break等進(jìn)行程序調(diào)試了。

以上針對通過nfs mount和tftp的方式,只能在主機(jī)上調(diào)試好后下載到開發(fā)板上運(yùn)行,如果有錯(cuò)誤要反復(fù)這個(gè)過程,繁瑣不說,有些程序只能在開發(fā)板上調(diào)試。所以筆者采用了gdbserver的遠(yuǎn)程調(diào)試方式。希望對大家調(diào)試程序有用!

遠(yuǎn)程調(diào)試環(huán)境由宿主機(jī)GDB和目標(biāo)機(jī)調(diào)試

stub共同構(gòu)成,兩者通過串口或TCP連接。使用GDB標(biāo)準(zhǔn)遠(yuǎn)程串行協(xié)議協(xié)同工作,實(shí)現(xiàn)對目標(biāo)機(jī)上的系統(tǒng)內(nèi)核和上層應(yīng)用的監(jiān)控和調(diào)試功能。調(diào)試stub

是嵌入式系統(tǒng)中的一段代碼,作為宿主機(jī)GDB和目標(biāo)機(jī)調(diào)試程序間的一個(gè)媒介而存在。就目前而言,嵌入式Linux系統(tǒng)中,主要有三種遠(yuǎn)程調(diào)試方法,分別適用于不同場合的調(diào)試工作:

用ROM Monitor調(diào)試目標(biāo)機(jī)程序

用KGDB調(diào)試系統(tǒng)內(nèi)核

用gdbserver調(diào)試用戶空間程序。

這三種調(diào)試方法的區(qū)別主要在于:目標(biāo)機(jī)遠(yuǎn)程調(diào)試stub的存在形式的不同,而其設(shè)計(jì)思路和實(shí)現(xiàn)方法則是大致相同的,而我們最常用的是調(diào)試應(yīng)用程序,就是采用gdb+gdbserver的方式進(jìn)行調(diào)試。在很多情況下,用戶需要對一物肢漏個(gè)應(yīng)用程序進(jìn)行反復(fù)調(diào)試,特別是復(fù)雜的程序,采用GDB方法調(diào)試,由于嵌入式系統(tǒng)資源有限性,一饑判般不能直接在目標(biāo)系統(tǒng)上進(jìn)行調(diào)試,通常采gdb+gdbserver的方式進(jìn)行調(diào)試。Gdbserver在目標(biāo)系統(tǒng)中運(yùn)行,gdb則在宿主機(jī)上運(yùn)行。

下載需要用的的軟件包。

一.編譯安裝arm-linux-gdb

#tar jxvf gdb-7.3.tar.bz2

#cd gdb-7.3

#./configure–target=arm-linux –enable-sim –prefix=/usr/local/bin

#make

#make install

二.編譯安裝gdbserver

#cd gdb-7.3/gdb/gdbserver

#./configure –target=arm-linux–host=arm-linux

#make

這樣在gdb-7.3/gdb/gdbserver目錄下就生成了一個(gè)gdbserver可執(zhí)行文件,拷貝到目標(biāo)開發(fā)板上.

三.測試arm-linux-gdb + gdbserver

在超級(jí)終端輸入:

#./gdbserver 192.168.100.1:2345 hello

這樣在開發(fā)板上可以看到如下提示信息:

Process wpa_cli created; pid = 730

Listening on port 2345

表示gdbserver 成功運(yùn)行等待客戶端的連接信息

在pc機(jī)上輸入:

#arm-linux-gdb hello

然后在GDB界面輸入:

#target remote 192.168.100.2:2345

這樣在開發(fā)板上可以看到如下提罩爛示信息:

Remote debugging from host 192.168.100.1

gdb linux安裝的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于gdb linux安裝,Linux下如何安裝GDB?詳細(xì)指南,嵌入式Linux的GDB遠(yuǎn)程調(diào)試如何實(shí)現(xiàn)呢?的信息別忘了在本站進(jìn)行查找喔。

創(chuàng)新互聯(lián)-老牌IDC、云計(jì)算及IT信息化服務(wù)領(lǐng)域的服務(wù)供應(yīng)商,業(yè)務(wù)涵蓋IDC(互聯(lián)網(wǎng)數(shù)據(jù)中心)服務(wù)、云計(jì)算服務(wù)、IT信息化、AI算力租賃平臺(tái)(智算云),軟件開發(fā),網(wǎng)站建設(shè),咨詢熱線:028-86922220


分享名稱:Linux下如何安裝GDB?詳細(xì)指南(gdblinux安裝)
當(dāng)前URL:http://www.5511xx.com/article/dhhdcje.html