使用GDB调试嵌入式Linux设备

2019-07-12 18:45发布

步骤:。熟悉在普通电脑上用 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 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    
  1. 将编译出来的test.bin 拷贝到嵌入式设备上跑的linux 的/usr/ 目录下
  2. 在设备上执行如下语句启动GDBSERVER gdbserver host:2345 /usr/test.bin
  3. 在电脑上执行如下命令: /openwrt/staging_dir/toolchain-mips_gcc4.1.2/bin/mips-linux-uclibc-gdb test.bin
  4. 在电脑上进入GDB 的界面了,执行如下命令给main 函数加一个断点: break main
  5. 在电脑上的GDB 界面执行如下命令,建立于设备上的gdbserver 的连接: target remote 192.168.1.1:2345
  6. 在电脑上的GDB 界面执行如下命令开始跑程序: continue
  7. 此时便进入调试了,使用见前面提到的
  8. 执行如下命令终止GDB 调试: quit