arm-linux gdb调试工具的安装

开发环境:AT91SAM9X25开发板:安装linux2.6.39;

pc的虚拟机:Linux version 2.6.18-194.el5  (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) ,arm-linux-gcc的版本为version 4.4.3

一、下载gbd http://ftp.gnu.org/gnu/gdb/;本人下载的是gdb-6.8。

二、安装

(1)解压:tar zxvf gdb-6.8a.tar.gz

(2)配置安装gdb:

cd gdb-6.8

./configure --target=arm-linux

make

make install

(3)配置安装gdbserver:

cd gdb

cd gdbserver

./configure --target=arm-linux --host=arm-linux

CC  = /usr/local/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc

CC的值为arm-linux-gcc的路径,可以通过which arm-linux-gcc命令定位出来。arm-linux-gcc的安装请参照之前的博文。

make

通过以上几个命令,已经将gdb安装完成了。(请继续往下。。。。)

三、小试牛刀

(1)在虚拟机下编写测试程序test.c,编译arm-linux-gcc -g -o test test.c

(2)将gdbserver文件夹中的gdb和(1)中生成的test拷贝到开发板的工作目录下。

(3)pc虚拟机下打开minicom,则当前在开发板的工作目录下输入./gdbserver 192.168.1.110:55555 test。尝试过好像此处ip地址貌似可以随便写,端口55555,随意写的,应该大于1024即可。

此时,可能会出现如下错误:error in loading shared libraries: libthread_db.so.1: cannot open shared object file: No such file or directory

解决步骤:<1>在虚拟机下找到arm-linux-gcc的安装目录,在/usr/local/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/lib找到libthread_db-1.0.so文件。

<2>将该文件拷贝到开发板的/lib文件夹下,在该目录下打开终端,输入ln -s libthread_db-1.0.so libthread_db.so.1。

(4)开发板输入如下:

(5)虚拟机下输入如下:

其中192.168.1.110是开发板的IP地址。请确保开发板和虚拟机可以ping通。

(6)开发板中出现Remote debugging from host 192.168.1.220则表示GDB交叉编译可以使用。在gdb下输入命令c,test_arm将被程序。

时间: 2024-11-05 19:34:44

arm-linux gdb调试工具的安装的相关文章

【Linux】GDB调试工具

GDB调试工具 Linux中包含一个很强大的调试工具GDB(GNU Debuger),可以用它来调试C和C++程序. 一. GDB的主要功能有: 设置断点,当程序运行到断点处暂停 显示变量的值,可以打印或者监视某个变量,将变量的值显示出来 单步执行,GDB允许用户单步执行程序,可以跟踪进入函数和从函数中退出 运行时修改变量的值,GDB允许在调试状态下修改变量的值,此功能在测试程序的时候特别有用 路径跟踪,GDB可以将代码的路径打印出来,方便用户跟踪代码 线程切换,在调试多线程的时候,此种功能是必

使用 Strace 和 GDB 调试工具的乐趣

编写 UNIX® 系统程序充满乐趣,并且具有教育意义.使用 UNIX strace 工具和 GDB(GNU 项目调试工具),您可以真正地深入研究系统的功能,并了解组成这些功能的各种各样的程序.同时使用这两种工具,能够在查看 UNIX 计算机底层信息 的时候,给您带来更好的体验. UNIX 家族总是为用户提供了丰富的工具.UNIX 是一个工具财宝箱,有了这些工具,您不仅可以完成具有创造性的工作,还可以在深入研究该操作系统的同时得到教育和娱乐.strace(用来跟踪任何程序的系统调用)和 GDB 调

为arm linux交叉编译tcpdump

1.从官网www.tcpdump.org下载并解压源文件,这里是 tcpdump-4.5.1.tar.gz libpcap-1.5.3.tar.gz 2.编译libpcap,安装目录为/home/armroot,交叉编译不能确定pcap类型,手工指定为linux ./configure --host=arm-linux --with-pcap=linux --prefix=/home/armroot make make install 3.编译tcpdump.交叉编译不能确定内核版本,手工指定为

GDB调试工具的实践

GDB是GNU Debuger的简称,是GNU发布的一款unix下应用程序调试工具.它被广泛使用在各个产家各种应用中.GDB和所有常用的调试工具一样,它的主要功能有:监视变量的值.设置断点及单步执行. 注意,在源程序编译时,要使用gcc -g 或 cc -g 或 g++ -g将源程序编译成可执行文件,然后才能使用gdb进行调试.只有这样,生成的可执行文件才包含调试信息. 参考别人的写一个简单的c程序,在linux下使用gcc编译成可执行文件,然后使用gdb进行调试. 程序源代码如下 #inclu

Linux GDB调试全面解析

GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具,GDB主要可帮助工程师完成下面4个方面的功能: 启动程序,可以按照工程师自定义的要求随心所欲的运行程序. 让被调试的程序在工程师指定的断点处停住,断点可以是条件表达式. 当程序被停住时,可以检查此时程序中所发生的事,并追索上文. 动态地改变程序的执行环境. 不管是调试Linux内核空间的驱动还是调试用户空间的应用程序,掌握gdb的用法都是必须.而且,调试内核和调试应用程序时使用的gdb命令是完全相同的,下面以代码清单22.2的应用程

ARM+Linux 嵌入式开发环境搭建

这些都是自个从一月份开始学习ARM+Linux中遇到的问题做的笔记,我觉得很有用,所以分享出来! 因为没有老师教,自己琢磨遇到的问题很多,欢迎交流! -------------------------------------------------------------------------------------------------- 零点漂移队:封尘浪 ------------------------------------------------------------------

linux源码编译安装OpenCV

为了尽可能保证OpenCV的特性,使用OpenCV源码编译安装在linux上.先从安装其依赖项开始,以ubuntu 14.04.X为例讲解在Linux上源码编译安装OpenCV,其他linux版本可以类比安装.此文针对,有一点Linux常识(会使用终端)的读者. 源代码准备 如果不想在安装过程中,一步步的下载.编译.安装,可以先一次性下载完需要用到的源代码. X264: ftp://ftp.videolan.org/pub/videolan/x264/snapshots/ FFMPEG: htt

GDB调试工具总结

程序调试的基本思想是“分析现象->假设错误原因->产生新的现象去验证假设”这样一个循环过程,根据现象如何假设错误原因,以及如何设计新的现象去验证假设,需要非常严密的分析和思考.程序中除了一目了然的Bug之外都需要一定的调试手段来分析到底错在哪,到目前为止自己使用过的调试手段只有一种: 根据程序执行时的出错现象假设错误原因,然后在代码中适当的位置插入printf(驱动使用printk函数),执行程序并分析打印结果,如果结果和心里预期的一样,就基本上证明了自己假设的错误原因,就可以动手修正Bug了

golang 2行代码在基于arm linux的树莓派、orangepi上运行http web服务

go语言(golang)简化了跨平台交叉编译步骤,支持在windows系统下交叉编译基于arm+linux平台的应用,运行时无需其它依赖库.以下以一个简单的http server为例,先上源码: ************************************************************ package main import( "net/http" ) funcmain(){ http.Handle("/",http.FileServe