步驟:
一。熟悉在普通電腦上用 GDB調試的基本方式。參見: http://www.ibm.com/developerworks/linux/library/l-gdb/
二。下載《 gdb quick reference》, 2張紙,列印出來放在手邊備用。
三。讓嵌入式系統支援 gdbserver. (在 openwrt上,即在 make menuconfig時選擇編譯 gdbserver)
四。進行調試
對於第四 點,下面以mips cpu 上的openwrt 為平台進行舉例
電腦IP地址為192.168.1.115, 裝置IP地址為192.168.1.1,互相能進行IP通訊
通過交叉編譯工具,把如下代碼編譯成裝置上的支援GDB 的可執行檔test.bin
#include <stdio.h>
int main(int argc, char *argv[])
{
int i=0; i=1;
printf(“%d”, i++);
i++;
printf(“%d, %d”, j++, i++);
}
編譯命令舉例:
$(OPENWRT_DIR)/staging_dir/toolchain-mips_gcc4.1.2/bin/mips-linux-uclibc-gcc -g -Wall -I. -I $(PWD)/../../Include/ -I $(OPENWRT_DIR)/build_dir/linux-msp71xx/linux-2.6.20.21/ -o test.bin test.c
將編譯出來的test.bin 拷貝到嵌入式裝置上跑的linux 的/usr/ 目錄下
在裝置上執行如下語句啟動GDBSERVER
gdbserver host:2345 /usr/test.bin
在電腦上執行如下命令:
/openwrt/staging_dir/toolchain-mips_gcc4.1.2/bin/mips-linux-uclibc-gdb test.bin
在電腦上進入GDB 的介面了,執行如下命令給main 函數加一個斷點:
break main
在電腦上的GDB 介面執行如下命令,建立於裝置上的gdbserver 的串連:
target remote 192.168.1.1:2345
在電腦上的GDB 介面執行如下命令開始跑程式:
continue 此時便進入調試了,使用見前面提到的<gdb quick reference>
執行如下命令終止GDB 調試:
quit