问题描述
我在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
错误依然存在。
执行了sudo make install
错误消失!
由于没有设置--prefix,所以默认装在了、usr/local/bin目录下。
4 配置gdbserver
依次执行下列命令:
$ cd gdbserver`
$ ./configure --target=arm-linux --host=arm-linux
$ make
** 注意:gdbserver不需要make install。
完成后,会在编译目录下生成一个gdbserver可执行文件。
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