|
嵌入式Linux的GDB调试环境建立
嵌入式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系统的静/动态集成调试模式
标签:嵌入式 Linux GDB 调试环境 点此 搜索更多相关内容.. |
|
|
|
版权声明:( 更多版权详述 | 隐私政策 )
1、凡本网注明“来源:单片机信息网”或“单片机论坛”的文字、图片和音视频作品,版权均属深圳市今科电子有限公司所有,任何媒体、网站或个人未经本网书面授权不得转载、链接、转贴或以其他方式使用;已经本网书面授权的,在使用时必须注明“来源:单片机信息网”或“单片机论坛””。
2、本网未注明“来源:单片机信息网”或“单片机论坛”的作品均为转载稿,本网转载稿件只为传递更多信息,并不意味着认同其观点或真实性。如其他媒体、网站或个人转载使用,必须保留本网注明的“稿件来源”,并自负法律责任。
3、对于单片机信息网通过单片机论坛发布的作品,本网受著作权人委托禁止任何媒体、网站或个人在未经书面授权的情况下转载使用。
4、为维护自身权益、尊重作者版权,单片机信息网特委托深圳市律师协会为本网站法律顾问。对于违反本声明的,单片机信息网律师将依法追究其责任;对于刊载作品涉及版权等问题的,请作者在两周内与网站管理或张朝阳律师联系。 |
| 责任编辑:今科电子 |
| |
| 双击复制本文网址,发送给您QQ/MSN上的朋友: |