1 前言 表 1 操作環(huán)境: GDBServer遠程調試是應用程序在開發(fā)板上運行,然后在PC上對開發(fā)板上的應用程序進行調試,PC運行GDB,開發(fā)板運行GDBServer。在應用程序調試的時候,PC的GDB向開發(fā)板上的GDBServer發(fā)出命令,而開發(fā)板上的GDBServer就會向應用程序發(fā)出信號,使應用程序停下來或者完成其他一些工作。 2 開發(fā)板安裝GDBServer一般情況下,開發(fā)板均已安裝GDBServer,位于開發(fā)板”/usr/bin”目錄下。可以在開發(fā)板中輸入”ls /usr/bin/gdbserver”檢查,現(xiàn)象類似如下圖,則說明開發(fā)板已安裝GDBServer。 如果開發(fā)板還沒安裝GDBServer,可在對應開發(fā)板的SDK安裝目錄中找到GDBServer可執(zhí)行程序。 AM437x 平臺V01.00.00.03 版本Linux Processor-SDK 開發(fā)包,GDBServer 可執(zhí)行程序位于SDK 安裝目錄的如下路徑:linux-devkit/sysroots/cortexa9t2hf-vfp-neon-linux-gnueabi/usr/bin/gdbserver AM437x平臺V03.03.00.04版本Linux Processor-SDK開發(fā)包,GDBServer可執(zhí)行程序位于SDK安裝目錄的如下路徑: linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/bin/gdbserver 將其拷貝到開發(fā)板文件系統(tǒng)"/usr/bin"目錄即可。 3 新建測試程序在Ubuntu上新建測試程序test.c,用于演示GDB調試,并輸入如下代碼: #include int main() { int a = 1; float b = 2.0; char s[16] = "tronlong"; int hoge_a = a*2; float hoge_b = b*2; printf("s is :%s\n", s); printf("hoge_a is : %d\n", hoge_a); printf("hoge_b is : %f\n", hoge_b); return 0; } 執(zhí)行如下命令編譯程序,使用”-g”參數(shù)進行GDB編譯: Host# arm-linux-gnueabihf-gcc test.c -o test -g 將編譯后可執(zhí)行程序test拷貝到開發(fā)板任意路徑下
更多幫助銷售郵箱:www.tronlong.com 技術論壇:www.51ele.net 線上商城:https://tronlong.taobao.com
|