建立ARM+Linux应用程序调试环境
建立ARM+Linux应用程序调试环境
Gdb+gdbserver+insight环境的搭建
1. 下载gdb源代码 http://ftp.gnu.org/gnu/gdb/
2. 配置安装gdb+gdbser
$ tar jxvf gdb-6.6.tar.bz2
$ cd x/gdb
$ ./configure --target=arm-linux --prefix=/usr/local/arm-gdb –v
--prefix用于指定安装路径
--target=arm-linux 用于制定目标环境的编译
编译, $ make
安装, $ sudo make install
之后在x/bin文件夹下生成arm-linx-gdb可执行文件.
$ cd gdbserver
配置文件:
$ ./configure --target=arm-linux --host=arm-linux
(--target=arm-linux表示目标平台,--host表示主机端运行的是arm-linux-gdb,不 需要配置—prefix,因为gdbserver不在主机端安装运行)
$ make CC=/usr/local/arm/2.95.3/bin/arm-linux-gcc
(这一步要指定你自己的arm-linux-gcc的绝对位置,相对的通常不行,提示make: arm-linux-gcc: Command not found,如果用的相对路径,即直接赋值arm-linux-gcc,可采取make时传递参数,也可以直接修改gdbserver目录下的Makefile文件中的环境变量CC)
之后在gdbserver目录下生成gdbserver可执行文件.
可将它通过nfs拷贝到目标板上运行.
如:mount –t nfs host:/friendly-arm/root /mnt –o ro,nolock
这里如果没有加上选项 –o ro,nolock 无法正常mount.
@在目标板上运行
(1)将要调试的文件和gdbserver放在同一个文件夹下
vivi> ./gdbserver host:port “待调试文件”
(2)在主机段执行 arm-linux-gdb “待调试文件”
(gdb)target remote client:port 连接客户机
注意:(1)在目标机上通过gdbserver调试的程序在gdbserver运行的时候已经运行了,并且其中不包含调试的符号信息,所以要想加入符号信息只能通过host运行的gdb加入含有调试信息的可执行文件。
(2)刚开始的时候将./gdbserver下载到目标机后不能运行,其主要原因就是所制作的网络根文件系统缺少libthread_db.so.1库�
相关文档:
这两天,给自己电脑弄了双系统,除了原来的Windows 7系统外,装上了Linux系统,使用的版本是Ubuntu
(点
击可到相应的下载页面)。开始我装的Linux版本是fedora9,对于一个根本没接触过Linux系统的人而言,使用fedora,简直让人崩溃。更
崩溃的是,我用的英文版。没的办法,又重新下载Linux,刻碟。装系统。装系统的时候 ......
结合我工作中碰到的运维问题,总结一下linux下server常见的运维问题以及定位方式。这里的server主要指自主开发的逻辑server,web srv因为通常采用通用的架构所以问题比较少。
逻辑server通常的处理能力在3k/s - 1w/s之间,因业务特点而不同。逻辑server一般是自主开发的,虽然在上� ......
linux—select详解
select系统调用时用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。
关于文件句柄,其实就是一个整数,通过socket函数的声明就明白了:
int socket(int domain, int type, int protocol);
我们最熟悉的句柄是0、1、2 ......
今天在Gentoo下安装了VirtualBox虚拟了一个XP,这样需要迅雷等一些只有For Windows下的软件时候不用必须重新启动切换到Windows下了。
显然两个OS之前的文件交换也很关键,解决方案也非常的简单。
1)在Gentoo下安装openssh
emerge openssh
2)在windows客户机上安装FileZilla
......