嵌入式Linux的GDB调试环境建立
来源:互联网 发布:php 约瑟夫环递归 编辑:程序博客网 时间:2024/04/27 04:57
原文来源:http://www.embeddedlinux.org.cn/html/jishuzixun/201404/07-2831.html?bsh_bid=383072872
嵌入式Linux的GDB调试环境由Host和Target两部分组成,Host端使用arm-linux-gdb,Target Board端使用gdbserver。这样,应用程序在嵌入式目标系统上运行,而gdb调试在Host端,所以要采用远程调试(remote)的方法。
一、建立安装gdb组件
从ftp://ftp.gnu.org/gnu/gdb上下载gdb套件,我下载的是gdb-5.2.1.tar.gz。假定在debug下编译gdb套件,你前面已经设定了TARGET,PREFIX参数。其中TARGET是你的目标板,我的是arm-linux,PREFIX是你要安装的目标文件夹。
$tar xvzf gdb-5.2.1.tar.gz
$mkdir debug/build-gdb
$cd build-gdb
$../gdb-5.2.1/configure --target=$TARGET --prefix=$PREFIX
$make
$make install
然后建立gdbserver。
$mkdir debug/build-gdbserver
$cd build-gdbserver
$chmod +x ../gdb-5.2.1/gdb/gdbserver/configure
$CC=arm-linux-gcc ../gdb-5.2.1/gdb/gdbserver/configure \
>--host=$TARGET --prefix=$TARGET
$make
$make install
使用arm-linux-strip命令处理一下gdbserver,然后将之复制到你的根文件系统的/usr/bin下,建立ramdisk盘。
二、调试步骤
1、交叉编译,带参数-g加入调试信息。
假设要调试的程序为test.c。
#arm-linux-gcc -g test.c -o test
2、在Target Board开启gdbserver
#gdbserver <host-ip>:2345 test
gdbserver开始监听2345端口(你也可以设其他的值),然后启动test,你会看到“Process test created:pid=157”
3、回到Host端
#arm-linux-gdb test
最后一行显示:This GDB was configured as “--host=i686-pc-linux-gnu,--target=arm-linux”...
说明此gdb在X86的Host上运行,但是调试目标是ARM代码。
(gdb)target remote <target-board-ip>:2345
注意:你的端口号必须与gdbserver开启的端口号一致,这样才能进行通信。
建立链接后,就可以进行调试了。调试在Host端,跟gdb调试方法相同。注意的是要用“c”来执行命令,不能用“r”。因为程序已经在Target Board上面由gdbserver启动了。结果输出是在Target Board端,用超级终端查看。
- 嵌入式Linux的GDB调试环境建立
- 嵌入式Linux的GDB调试环境建立
- 建立嵌入式gdb调试环境
- 建立嵌入式gdb调试环境
- 建立嵌入式gdb调试环境
- 建立嵌入式gdb调试环境
- 建立嵌入式gdb调试环境
- Linux(Ubuntu)下嵌入式gdb调试环境
- linux下建立arm-gdb调试环境
- 建立嵌入式gdb调试环境
- 嵌入式环境下的gdb调试方法
- 嵌入式Linux系统的GDB调试
- 嵌入式arm linux环境中gdb+gdbserver调试
- 嵌入式arm linux环境中gdb+gdbserver调试
- 嵌入式arm linux环境中gdb+gdbserver调试
- 嵌入式的gdb调试
- 嵌入式的gdb调试
- gdb linux下eclipse环境的建立
- JDBC 如何判断一张表是否存在
- 全新BMW 2系双门轿跑
- 聚类分析_matlab
- linux下配置vnc的方法(清楚)
- 使用Cocos2d-x制作三消类游戏Sushi Crush(第一部分)
- 嵌入式Linux的GDB调试环境建立
- 程序员技术练级攻略
- SAE上传文件到storage
- IIS7 配置端口后不能访问
- 理解表现和结构相分离
- Balanced Binary Tree
- 原始JS选择器使用方法总结
- android入门-LinearLayout和RelativeLayout 属性对比
- 浅析指向指针的指针其作用