Eclipse-cdt 配合 gdbserver 進行 arm 程序遠程調試 上
睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接
做嵌入式Linux開發也不用再羨慕windows程序員VS集成開發環境的強大,我們同樣能夠搭建出給力的IDE。
今天在這里記錄一下我使用Eclipse-cdt,gdb,gdbserver搭建遠程arm調試的過程。
首先介紹下,嵌入式Linux的GDB調試環境由Host和Target兩部分組成,Host端可以理解為本機,Target端為嵌入式設備。
Host端使用arm-linux-gdb,Target 端使用gdbserver。
調試時,應用程序在嵌入式目標系統上通過運行,而gdb調試在Host端。
- 編譯gdb
在GNU官網下載最新版GDB ,我這里下載的是7.2版本gdb-7.2.tar.gz
$ tar xvf gdb-7.2.tar.gz $ cd gdb-7.2 $ ./configure --target=arm-linux --prefix=/home/aliang/arm-gdb $ make -j2 $ make install
可以通過export命令將/home/aliang/arm-gdb/bin目錄加入PATH,使arm-linux-gdb可以直接使用,也可以直接拷貝到/usr/bin 或arm-linux-gcc同目錄
- 編譯gdbserver
$ cd gdb/gdbserver $ ./configure --host=arm-linux $ make -j2 這里沒有定義安裝目錄,因為gdbserver是運行在嵌入式設備端的。 make之后,gdbserver程序就在當前目錄下,拷貝到tftpd目錄后在設備端通過tftp命令下載
- 調試程序
通過加-g參數 交叉編譯帶調試信息的程序$ arm-linux-gcc -g ipcam.c -o ipcam
拷貝到設備端后,使用gdbserver打開程序
$gdbserver <host-ip>:10000 ipcam
主機使用arm-linux-gdb調試程序
$ arm-linux-gdb ipcam
輸入gdb遠程調試指令
(gdb) target remote <target-ip>:10000
這時,設備端打印
Remote debugging from host 192.168.1.102
說明遠程調試已經建立起,可以開始在host端調試
- gdb指令可真多,我不是牛人,自認沒那技術通過指令就能調試出想要的結果,結合eclipse的圖形調試界面快速尋找答案才是我想要的。具體設置,請看下篇