實現交叉編譯gdb和gdbserver(gdb-7.6)
海思SDK環境下實現:
1、下載gdb:
下載地址為:http://ftp.gnu.org/gnu/gdb/
2、解壓縮:
- tar xvf gdb-7.6.tar.bz2
cd gdb-7.6
4、配置:(生成makefile)
- ./configure --target=arm-hisiv100nptl-linux --program-prefix=arm-hisiv100nptl-linux- --prefix=/home/usr/gdb-build
注:--target=arm-hisiv100nptl-linux意思是說目標平臺是執行於ARM體系結構的linux核心;--program-prefix=arm-hisiv100nptl-linux是指生成的可執行檔案的字首,比如arm-hisiv100nptl-linux-gdb,--prefix是指生成的可執行檔案安裝在哪個目錄,這個目錄需要根據實際情況作選擇。如果該目錄不存在,會自動建立,當然,許可權足夠的話。
5、編譯、安裝
make ;make install
會在--prefix指定的目錄下生成三個子目錄:bin、lib、share,我們需要的arm-linux-gdb就在其中的bin目錄下。
編譯gdb-server
1 cd /gdb-7.6/gdb/gdbserver
2 配置
./configure --target=arm-hisiv100nptl-linux --host=arm-hisiv100nptl-linux
這裡的--host指定了生成可執行檔案執行的平臺和系統:執行於ARM平臺的Linux系統
3 make
編譯生成 gdb-server
gdbserver 遠端呼叫的使用:
1將之前生成的gdbsrver 除錯程式放在目標板上或者通過nfs方式執行也可以.這樣就可以用gdb和gdbserve 來除錯開發板上的程式了.
2 要除錯程式首先在目標板上執行gdbserver
./gdbserver --remot-debug 192.168.1.100:2345 test
192.168.1.100 為目標板ip地址,2345是開通目標板的這個埠號做為通訊埠.
test 是要除錯的程式(編e 譯好的)
3 在開發板上執行gdb程式
./arm-hisiv100nptl-linux-gdb test
進入gdb 除錯狀態後:
輸入target remote 192.168.1.100:2345
4連線成功後可以除錯程式:
如:輸入 c執行程式.
相關文章
- GDB交叉編譯編譯
- 關於Gdb工具的交叉編譯、移植編譯
- 交叉編譯和 RPC編譯RPC
- 交叉編譯編譯
- 編譯器的自展和自舉、交叉編譯編譯
- lazarus交叉編譯編譯
- golang交叉編譯Golang編譯
- 嵌入式GDB除錯Linux C程式或交叉編譯(開發板)除錯LinuxC程式編譯
- go 交叉編譯,部署Go編譯
- 交叉編譯入門編譯
- 交叉編譯場景分析(arm-linux)(四)--編譯readline和ncurses編譯Linux
- linux與windows交叉編譯LinuxWindows編譯
- golang初學:交叉編譯Golang編譯
- 交叉編譯mupdf1.15.0編譯
- Rust 交叉編譯與條件編譯總結Rust編譯
- 交叉編譯-Mac環境使用NDK編譯FFmpeg編譯Mac
- C編譯: 使用gdb除錯編譯除錯
- Go跨平臺交叉編譯Go編譯
- Ubuntu交叉編譯環境配置Ubuntu編譯
- Go - armv7 交叉編譯Go編譯
- 交叉編譯工具鏈構建原理編譯
- 交叉編譯c++給android呼叫編譯C++Android
- Go語言交叉編譯工具goxGo編譯
- protobuf 的交叉編譯使用(C++)編譯C++
- GDB 除錯 Mysql 實戰(一)原始碼編譯安裝除錯MySql原始碼編譯
- 全網可用交叉編譯工具鏈大全編譯
- Tinyx 交叉編譯配置檔案(arm版)編譯
- 掌握這些,輕鬆管理BusyBox:如何交叉編譯和整合BusyBox編譯
- 32位支援:使用 GCC 交叉編譯GC編譯
- 交叉編譯場景分析(arm-linux)--序編譯Linux
- 在WSL下為OpenWRT交叉編譯出CMake編譯
- 如何對 Neuron 原始碼進行交叉編譯原始碼編譯
- Golang在各平臺下如何交叉編譯Golang編譯
- 使用 goxc 方便的進行交叉編譯分發Go編譯
- 句子嵌入: 交叉編碼和重排序排序
- 交叉編譯庫依賴問題的解決方法編譯
- 使用gulp和bable實現實時編譯ES6程式碼編譯
- 09_QT系統移植之交叉編譯QT原始碼和觸控原始碼QT編譯原始碼