嵌入式arm linux环境中gdb+gdbserver调试
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了嵌入式arm linux环境中gdb+gdbserver调试,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1890字,纯文字阅读大概需要3分钟。
内容图文
一.前言
嵌入式Linux系统中,应用开发过程中,很多情况下,用户需要对一个应用程序进行反复调试,
特别是复杂的程序。采用GDB方法调试,由于嵌入式系统资源有限性,一般不能直接在目标系统上进行调试,
通常采用gdb+gdbserver的方式进行调试。 Gdbserver在目标系统中运行,gdb则在宿主机上运行。
目标系统必须包括gdbserver程序,宿主机也必须安装gdb程序。在此我们还不能直接采用linux
发行版自带的gdb,需要交叉编译gdb和gdbserver。
二.编译gdb和gdbserver工具
下载最新版本的gdb-6.8.tar.gz,可以到ftp://ftp.gnu.org/gnu/gdb下载.
准备好自己的工作目录,如下示
/home/user/gdb
|--gdb-6.8
|--obj-gdb
|--build
|--obj-gdbserver
|--build
|--bin
脚本obj-gdb/build内容如下:
#!/bin/sh
../gdb-6.8/configure --target=arm-linux --enable-shared --prefix=/usr/src/arm/gdb/build-gdb --without-x --disable-gdbtk --disable-tui --without-included-regex --without-included-gettext
make
echo "done"
脚本obj-gdbserver/build内容如下:
#!/bin/sh
CC=/opt/toolchain/arm-linux/bin/arm-linux-gcc
../gdb-6.8/gdb/gdbserver/configure --host=arm-linux --without-included-regex --without-included-gettext
echo "done"
开始编译:
(1) cd obj-gdb
./build
(2) cd obj-gdbserver
./build
这时会生成Makefile,修改Makefile如下
LDFLAGS= -static
然后make
(3) cd bin
cp ../obj-gdb/gdb/gdb .
cp ../obj-gdbserver/gdbserver .
arm-linux-strip gdbserver
(4) 好了bin目录下就是最终编译出来的gdb+gdbserver了
三.gdbserver使用
(1) 目标机中
执行命令gdbserver 10.0.12.144:1234 test
注意test在编译的时候是要加-g选项的
(2) 宿主机中
gdb test
再输入命令target remote 10.0.12.143:1234
接下来就可以gdb的调试了
(3) 说明
目标机IP:10.0.12.143
宿主机IP: 10.0.12.144
端口是随意指定的,只要两端保持一致就行了
test程序两端也必须相同
嵌入式arm linux环境中gdb+gdbserver调试
标签:
本文系统来源:http://www.cnblogs.com/lidabo/p/5645661.html
内容总结
以上是互联网集市为您收集整理的嵌入式arm linux环境中gdb+gdbserver调试全部内容,希望文章能够帮你解决嵌入式arm linux环境中gdb+gdbserver调试所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。