问题描述

我在PC机上安装了gdbserver,但是移植到板子上后却出现了问题。运行不了,显示错误:“segment fault”。

决定重新在另一台虚拟机上gdbserver。

arm-linux-gdb与gdbserver安装步骤

1 下载

gdb-7.8.tar.gz,下载地址是:ftp://ftp.gnu.org/gnu/gdb/

2 解压

在/home目录下,

$ mkdir gdb
$ tar -xzvf gdb-7.8.tar.gz
$ mv gdb-7.8 gdb

3 配置arm-linux-gdb

$ cd gdb
$ ./configure --target=arm-linux
$ make
$ make install

出现问题:Make[3]: *** [install-recursive] 错误 1

上网查了一下,说是make应该root用户权限。应该是sudo make.

于是执行make clean,然后sudo make,make install

错误依然存在。

gdbserver移植到DM368板子上的过程 以及segment fault problem-LMLPHP

执行了sudo make install

错误消失!

由于没有设置--prefix,所以默认装在了、usr/local/bin目录下。

gdbserver移植到DM368板子上的过程 以及segment fault problem-LMLPHP

4 配置gdbserver

依次执行下列命令:

$ cd gdbserver`
$ ./configure --target=arm-linux --host=arm-linux
$ make

** 注意:gdbserver不需要make install。

完成后,会在编译目录下生成一个gdbserver可执行文件。

gdbserver移植到DM368板子上的过程 以及segment fault problem-LMLPHP

5 测试

将gdbserver执行文件上传到ip为..***.248的tftp服务器上,然后在板子上下载下来。

$ chmod +x gdbserver
$ ./gdbserver 192.168.115.248:2001 gdbserver
![](http://images2017.cnblogs.com/blog/829188/201708/829188-20170810144702480-893495301.png)
如上图,gdbserver已经执行,并侦听指定的端口。 segment fault in embedded systems
05-04 05:26