使用GDB调试嵌入式Linux设备

步骤:

。熟悉在普通电脑上用 GDB调试的基本方式。参见: http://www.ibm.com/developerworks/linux/library/l-gdb/

。下载《 gdb quick reference》, 2张纸,打印出来放在手边备用。

。让嵌入式系统支持 gdbserver. (在 openwrt上,即在 make menuconfig时选择编译 gdbserver

。进行调试

 

对于第四 点,下面以mips cpu 上的openwrt 为平台进行举例

  1.  

  2. 电脑IP地址为192.168.1.115, 设备IP地址为192.168.1.1,互相能进行IP通信

     

  3. 通过交叉编译工具,把如下代码编译成设备上的支持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

 

 

  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. 此时便进入调试了,使用见前面提到的<gdb quick reference>
  8. 执行如下命令终止GDB 调试:

    quit

 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值