導航:首頁 > 源碼編譯 > gdb交叉編譯是什麼

gdb交叉編譯是什麼

發布時間:2022-04-27 16:01:43

① gdb是什麼有什麼功能

GDB(GNU symbolic debugger)簡單地說就是一個調試工具。主要應用在linux/Unix平台上

② Linux 裡面的gdb到底是個什麼東西

Linux 包含了一個叫 gdb 的 GNU 調試程序. gdb 是一個用來調試 C 和 C++ 程序的強力調試器. 它使你能在程序運行時觀察程序的內部結構和內存的使用情況. 以下是 gdb 所提供的一些功能:
它使你能監視你程序中變數的值.
它使你能設置斷點以使程序在指定的代碼行上停止執行.
它使你能一行行的執行你的代碼.

命令行上鍵入 gdb 並按回車鍵就可以運行 gdb 了, 如果一切正常的話, gdb 將被啟動並且你將在屏幕上看到類似的內容:
GDB is free software and you are welcome to distribute copies of it

under certain conditions; type "show ing" to see the conditions.

There is absolutely no warranty for GDB; type "show warranty" for details.

GDB 4.14 (i486-slakware-linux), Copyright 1995 Free Software Foundation, Inc.

(gdb)
當你啟動 gdb 後, 你能在命令行上指定很多的選項. 你也可以以下面的方式來運行 gdb :
gdb <fname>
當你用這種方式運行 gdb , 你能直接指定想要調試的程序. 這將告訴gdb 裝入名為 fname 的可執行文件. 你也可以用 gdb 去檢查一個因程序異常終止而產生的 core 文件, 或者與一個正在運行的程序相連. 你可以參考 gdb 指南頁或在命令行上鍵入 gdb -h 得到一個有關這些選項的說明的簡單列表.

③ 開發板上如何使用GDB

調試時,應用程序在嵌入式目標系統上運行,而gdb調試在Host端。 一、編譯安裝gdb+gdbserver 首先下載gdb源碼,我下載的是gdb-6.6.tar.gz。$tar xvzf gdb-6.6.tar.gz$mkdir mygdb$cd mygdb必須要在你想要安裝的目錄下執行下邊的命令。$../gdb-6.6/configure --target=arm-linux \ --prefix=/home/a/mygdb參數說明:target是你的目標板,我的是arm-linux,prefix是你要安裝的目標文件夾。$make$make install然後建立gdbserver。$mkdir mygdbserver$cd mygdbserver$chmod +x ../gdb-6.6/gdb/gdbserver/configure$CC=arm-linux-gcc ../gdb-6.6/gdb/gdbserver/configure \--host=arm-linux --prefix=/home/a/mygdbserver$make$make install$arm-linux-strip gdbserver去除調試信息。不去好像不行,我的就不行,去了就ok了。復制到你的開發板上就可以了。 二、調試步驟1、交叉編譯,帶參數-g加入調試信息。假設要調試的程序為test.c。#arm-linux-gcc -g test.c -o test2、在Target Board開啟gdbserver#gdbserver <host-ip>:2345 testgdbserver開始監聽2345埠(你也可以設其他的值),然後啟動test,你會看到「Process test created:pid=88」3、回到Host端#arm-linux-gdb test最後一行顯示:This GDB was configured as 「--host=i686-pc-linux-gnu,--target=arm-linux」...說明此gdb在X86的Host上運行,但是調試目標是ARM代碼。(gdb)target remote <target-board-ip>:2345注意:你的埠號必須與gdbserver開啟的埠號一致,這樣才能進行通信。建立鏈接後,就可以進行調試了。調試在Host端,跟gdb調試方法相同。注意的是要用「c」來執行命令,不能用「r」。

④ 如何在ubuntu中搭建交叉編譯環境toolchain

1.安裝交叉編譯環境 sudo apt-get install gcc g++ libcc1 libg++ make gdb
2.安裝交叉編譯器 f
tp:
//ftp.
arm.linux.org.uk/pub/armlinux/toolchain/ 下載 cross -3.2.tar.bz2或者懶得去找乾脆
wget f
tp://ftp.
arm.linux.org.uk/pub/armlinux/toolchain/ cross -3.2.tar.bz2
解壓
sudo tar jxvf /home/zhaifang/cross -3.2.tar.bz2
sudo mv /home/zhaifang/usr/local/arm /usr/local
3.交叉編譯器加入路徑 sudo vi /etc/bash.bashrc後面加入
if [ -d /usr/local/arm ] ; then
PATH=/usr/local/arm/bin:'${PATH}'
fi
4.使環境生效 #source /etc/profile
5.檢查 echo $PATH 出現/usr/local/arm/bin說明成功了
6.測試 arm-linux-gcc -v

⑤ 「GDB」是什麼意思

gdb:UNIX及UNIX-like下的調試工具。如果在 UNIX平台下做軟體,GDB調試工具相比於VC、z的優點是具有修復網路斷點以及恢復鏈接等功能,比BCB的圖形化調試器有更強大的功能。

2009年12月29日,程序調試工具 GDB 7.0.1 發布,新版本修正了7.0版本的一些嚴重的堆棧溢出bug,這些bug可能導致 GDB 調試進程中斷,修正了在 FreeBSD 和 IRⅨ 系統下無法編譯的問題,增加了對 Thumb2調試的支持,還有其他一些小bug的修復。

(5)gdb交叉編譯是什麼擴展閱讀:

gdb通常可以捕捉到發送給它的大多數信號,通過捕捉信號,它就可決定對於正在運行的進程要做些什麼工作。例如,按CTRL-C將中斷信號發送給gdb,通常就會終止gdb。但是不想中斷gdb,真正的目的是要中斷gdb正在運行的程序,因此,gdb要抓住該信號並停止它正在運行的程序,這樣就可以執行某些調試操作。

⑥ ecplise和GDB有啥區別想學linux嵌入式,可是被各種各樣的軟體搞暈了!ecplise、GDB、GCC。。

eclipse是開發java的 也有C++(好像是),gdb是調試軟體。gcc是編譯軟體。arm-linux-gcc是交叉編譯器,就是說在電腦上編譯,但是只在arm上運行。arm-linux-gcc在linux環境必須安裝

⑦ linux gdb 交叉編譯是什麼

一般用於嵌入式開發中。
由於嵌入式環境中的CPU/內存都很小,不能用於編譯。PC機的性能都很好,編譯起來也很快。
交叉編譯的意思就是,在PC上編譯,編譯出來的程序在嵌入式機器上運行。

⑧ 為什麼對arm進行裸機開發的時候不需要交叉編譯環境,而進行linux移植的時候就需要呢

交叉編譯只是用arm-linux-gcc,為什麼要用這個編譯器,因為Linux系統是用這個編譯的,你想運行在linux平台運用程序,必須和系統是同一個版本的編譯器。不是同一個版本都不能運行。
邏輯開發你也可以用gcc編譯器啊,同樣可以編譯出bin文件,同樣可以運行。
我們平時用的都是IDE,說白了就是在gcc的基礎上加了簡單容易操作的窗口,像添加斷電、查看運行狀態,這些在gcc下也是可以實現的,調試工具叫gdb。

⑨ arm-linux 交叉編譯環境的建立,希望有清楚的人解答,復制的閃人

是這樣子的,計算機linux中原有的gcc是針對通用的X86等處理器而言的,編譯出來的可執行文件是只能在通用計算機上運行的,arm也是一種處理器,只不過其指令等和X86等CPU不同,所以需要有針對arm的編譯器來編譯源程序,才能在arm中運行。
我在arm9下做過linux,qt編程,需要先在PC上安裝linux,然後安裝arm-linux-gcc,同時為了可以使用arm-linux-gcc來編譯程序,需要指定環境變數,這個可以在.profile等文件中進行更改,具體辦法你查一下就知道了。或者使用export命令在終端中設置環境變數。兩種方法的結果有區別哦!
你想用2440的開發板的話就是arm9了,我還沒找到arm9的模擬工具,但是網上已經有arm7的模擬工具。
對於arm-linux-gcc,只要你安裝好並設置好了路徑(環境變數)後,在一個終端中輸入#arm-linux-gcc -v
那麼你一般可以看到你安裝的arm-linux-gcc 版本信息,到此你就可以使用它編譯你的源程序,然後將生成的可執行文件下載到arm開發板中就可以運行了。
還有什麼問題再說吧,我也是一個人摸索出來的,估計摸索了一個月才成功的在arm上運行了第一個自己的qt圖形界面程序,祝你好運!
我的建議:
一、熟悉linux 的各種操作命令(如export)
二、學會怎麼下載可執行文件到arm中
三、學會用pc控制arm上的linux

我只用過arm-linux-gcc,在你的安裝文件夾下可以找到

閱讀全文

與gdb交叉編譯是什麼相關的資料

熱點內容
linuxc編程pdf百度雲 瀏覽:190
會計pdf下載 瀏覽:833
c開源cf源碼 瀏覽:947
如何取消掉添加進app資源庫 瀏覽:728
上海政務APP叫什麼 瀏覽:812
黑馬程序員一線薪資 瀏覽:109
滴滴app有青桔優惠券怎麼用 瀏覽:123
刪哪幾個文件夾加速 瀏覽:28
創建電影源碼爬取項目 瀏覽:453
java多餘的空格 瀏覽:83
手機軟體連接雲伺服器 瀏覽:888
內圓弧編程實例 瀏覽:48
餅干pdf 瀏覽:423
kylin源碼大全 瀏覽:688
android構建工具 瀏覽:422
zigy命令行選項不兼容 瀏覽:561
加密系統能錄屏嗎 瀏覽:190
安卓淘寶點進去跳鏈接如何關閉 瀏覽:786
u盤加密了手機讀取不了 瀏覽:947
oracle11g啟動命令 瀏覽:931