您的位置:首页 > 运维架构 > Linux

使用GDB调试嵌入式Linux设备

2010-05-21 17:54 411 查看
步骤:

一。熟悉在普通电脑上用
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: