使用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
一。熟悉在普通电脑上用
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
相关文章推荐
- linux环境下调试嵌入式设备时出现Aborted、segmentation fault、卡死的问题以及关于指针使用的一点想法
- Linux下调试函数-----gcc与gdb的使用
- 嵌入式Linux之我行——设备文件系统剖析与使用
- 使用 GDB 调试 Linux 软件
- 使用 GDB 和 KVM 调试 Linux 内核与模块
- 在Zynq 7000平台上使用Linux spidev.c驱动,调试spi设备
- Linux下使用gdb调试core文件
- 使用 GDB 调试 Linux 软件
- 使用VS+VisualGDB编译调试Linux程序
- Linux下gdb调试工具的使用方法
- 嵌入式Linux的GDB远程调试的实现
- 嵌入式 使用udev高效、动态地管理Linux 设备文件
- 转 gdbserver远程调试嵌入式linux应用程序方法
- 用vs2008编写和调试linux程序 ----VisualGDB 使用教程
- Linux下调试工具gdb的使用方法
- linux下使用GDB调试程序
- Linux中gdb程序调试器的命令使用(包括后台进程和多线程的调试)
- GDB远程调试(二)之用gdb解决segmentation-fault段错误,看gdb的使用(嵌入式)
- 在_Linux_中如何使用_gdb_调试_C_程序
- linux下gdb调试之简单命令使用(一)