[转载]Ubuntu下arm-linux-gdb+gdbserver的编译及安装

原文地址:Ubuntu下arm-linux-gdb+gdbserver的编译及安装作者:136*****[email protected]

注:arm-linux-gdb的安装路径是/usr/local/arm/3.4.1
1、arm-linux-gdb的编译安装
下载gdb-6.8.tar.bz2至工作目录

gdb源码下载:http://ftp.gnu.org/gnu/gdb/

命令如下:

$tar -jxvf gdb-6.8.tar.bz2
$cd gdb-6.8
$./configure --target=arm-linux --enable-sim --prefix=/usr/local/arm/3.4.1
--prefix用于指定安装路径

$make

make时遇到以下错误:

configure: error: no termcap library found

make[1]: *** [configure-gdb] Error 1

make[1]: Leaving directory `/home/lining/gdb-6.8‘

make: *** [all] Error 2

解决方法:主要是缺少termcap库文件,在终端里执行sudo apt-get install libncurses5-dev安装
$sudo make install
完成后可以在/usr/local/arm/3.4.1/bin下找到arm-linux-gdb文件
2、arm-linux-gdbserver的编译安装
进入./gdb/gdbserver

命令如下:

$cd gdb/gdbserver./configure --target=arm-linux --host=arm-linux 
$make CC=arm-linux-gcc
(CC=arm-linux-gcc用于指定arm-linux编译器)
编译时出现PATH_MAX undeclared错误的解决方法:
在hostio.c文件中增加
#include <linux/limits.h>
原因是宏PATH_MAX在<limits.h>中没有定义,而是定义在<linux/limits.h>中

(红色表示我在编译时没有碰到这个错误,此错误是网友整理的,留在这里以供以后参考)
编译成功后在当前目录下会生成gdbserver文件,拷贝至开发板上(可放入开发板/usr/bin/目录下,这样在任何目录下均可执行gdbserver命令)

gdb+gdbserver nfs调试流程

通过NFS启动系统后,在开发板终端输入  # mount -t nfs -oonolock192.168.50.72:/opt/FriendlyARM/mini2440/root_qtopia  /mnt/  hello程序放在root_qtopia  下面.hello为要调试的程序(必须-g加入调试信息)。

#gdbserver 192.168.50.72:2345 hello  192.168.50.72为宿主机IP,在目标系统的2345端口(你也可以设其他可用的值,当然必须跟主机的gdb一致)开启了一个调试进程,hello为要调试的程序(必须-g加入调试信息)。  出现提示:  Process /mnt/hello created: pid=80  Listening on port 2345  (另一个终端下)  #cd /opt/FriendlyARM/mini2440/root_qtopia   #arm-linux-gdb hello  最后一行显示:This GDB was configured as “--host=i686-pc-linux-gnu,--target=arm-linux”...,如果不一致说明arm-linux-gdb有问题  说明此gdb在X86的Host上运行,但是调试目标是ARM代码。  (gdb) target remote 192.168.50.168:2345  (192.168.50.168为开发板IP)  Remote debugging using 192.168.50.168:2345  [New thread 80]  [Switching to thread 80]  0x40002a90 in ??()  同时在minicom下提示:  Remote debugging from host 192.168.50.72(gdb)  注意:你的端口号必须与gdbserver开启的端口号一致,这样才能进行通信。建立链接后,就可以进行调试了。调试在Host端,跟gdb调试方法相同。注意的是要用“c”来执行命令,不能用“r”。因为程序已经在Target Board上面由gdbserver启动了。结果输出是在Target Board端,用超级终端查看。连接成功,这时候就可以输入各种GDB命令如list、run、next、step、break等进行程序调试了。

参考网址:

1. http://kenter1643.javaeye.com/blog/346894

2. http://blog.csdn.net/chinacodec/archive/2009/02/11/3877901.aspx

3. http://www.5dlinux.com/article/1/2009/linux_31924.html

[转载]Ubuntu下arm-linux-gdb+gdbserver的编译及安装

时间: 2024-10-10 00:13:31

[转载]Ubuntu下arm-linux-gdb+gdbserver的编译及安装的相关文章

Ubuntu下(Linux+Apache+MYSQL+PHP, LAMP)环境搭建

最近开始玩PHP,于是试着搭建一下开发环境并做个记录,以备日后再使用起来方便可查. 第一步 确保软件包是最新的 <span style="font-size: 18px;">sudo apt-get update</span> 第二步 安装Apache2 <span style="font-size: 18px;">sudo apt-get install apache2</span> 安装之后测试:在浏览器中打开 h

解决linux/Ubuntu下Qt creater 界面程序在编译运行后无法显示中文或中文乱码问题!

本文解决的主要是界面程序编译运行后无法显示中文的问题,如果在creater 中无法输入中文,下载个IBus或者搜狗之类的中文输入法即可解决! 首先说乱码问题,这个很好解决: 如果是在linux下打开Windows下的项目出现乱码,选择编码为"GB2312"即可! 现在主要来说说程序运行后无法显示中文或者出现乱码的情况,被这个问题困扰了很久,网上看了很多资料贴子都没有解决,所有该添加的都添加了都没办法, http://bbs.csdn.net/topics/390610841?page=

ubuntu下C程序的编辑、编译、运行

均以hello world程序为例 一.vim hello.c/hello.cpp 创建hello.c/hello.cpp文件,并进入vim界面 二.此时按键盘上的很多键均不会有任何反应,键入i,进入输入模式 三.编写hello.c/hello.cpp程序 四.先按Esc键,退出输入模式:然后,按Shift+:键,进入命令模式. 在该模式下,先输入w,表示保存hello.c/hello.cpp文件:再输入q,表示退出vim编辑器. 也可同时输入wq,保存并退出. 五.编译hello.c/hell

ubuntu下搭建android开发环境(一)安装ubuntu系统(by 星空武哥)

    转载请标注原创地址:http://blog.csdn.net/lsyz0021/article/details/52187026 ubuntu下搭建android开发环境(一)安装ubuntu系统 ubuntu下搭建android开发环境(二)设置ubuntu的root管理员密码 ubuntu下搭建android开发环境(三)ubuntu安装搜狗输入法 虽说已经有很多ubuntu的安装教程了,但是今天我还是要写一篇这样的文章,因为这篇文章是为了在ubuntu下搭载android开发环境所

windows下制作linux U盘启动盘或者安装优盘(转)

windows下制作linux U盘启动盘或者安装优盘(转) Linux发行版排行榜:http://iso.linuxquestions.org/ [方案一]:UltraISO(不推荐,在Windows下制作Windows安装盘绝佳) 用UltraISO软件打开linux发行版的ISO文件,用UltraISO软件的“启动/启动光盘”中的:写入硬盘映像,选择USB-HDD/USB-HDD+,点击写入. [方案二]:UNetbootin(中文界面) http://unetbootin.sourcef

[转载]Ubuntu 下开发 Android 环境变量设置

-----------------------------------------------------ANDROID_SDK_HOME:/home/cmm/avds PATH:/home/cmm/android-sdk-linux/tools;/home/cmm/android-sdk-linux/platform-tools CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib ---------------------------------------

《Linux操作系统-Exynos4412》编译和安装Busybox

开发环境:Exynos4412-iTOP-4412开发板 现在 Busybox 的配置已经完成了,接下来开始编译 Busybox,在 Ubuntu 的终端输入“make”命令开始编译 Busybox,如下图. 下图为编译过程中的截图. 如下图所示,编译完成. 现在编译完成了,接下来需要把编译生成的二进制文件安装到刚才指定的../system 目录里面,使用命令“make install”安装二进制文件到“../system”目录,如下图. 如下图所示,执行完成. 使用命令“cd ../syste

ubuntu 交叉编译arm linux 内核小例子

下载arm-linux-gcc 4.2.3http://code.google.com/p/princess-alist/downloads/detail?name=arm-linux-gcc-4.3.2.tgz&can=2&q= 安装arm-linux-gcc 4.2.3sudo tar  xvzf arm-linux-gcc-4.3.2.tar.gz  -C / 此时将安装到/usr/local/arm下面 设置环境变量 gedit ~/.profile在打开的文件最后加入以下命令ex

Ubuntu下查看linux版本,内核版本,系统位数,gcc版本

1. 查看linux版本  [email protected]:~$cat /etc/issueUbuntu 11.04 \n \l 2. 查看内核版本1) [email protected]:~$ cat /proc/versionLinux version 2.6.38-13-generic ([email protected]) (gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ) #57-Ubuntu SMP Mon Mar 5 18:1