这两天题目中所述问题纠结的不轻,欣慰的是终于解决,在此记录一下。
一、gdbserver移植:
环境
pc linux:version 2.6.32-431.17.1.el6.x86_64
gcc:version 4.4.7
arm-linux-gcc:version 4.4.3
arm linux: version 2.6.32.2-FriendlyARM
步骤
gdb:
2、解压:tar xvf gdb-7.4.tar.bz2
3、配置:cd gdb-7.4/
./configure --target=arm-linux
4、编译:make
(报错:termcap相关,下载termcap-1.3.1.tar并make&make install即可)
5、安装:mkdir tmp
make install prefix=$PWD/tmp
这里是安装到了我们当前目录的tmp里面
6、查看PC机上以前安装好的gdb版本:arm-linux-gdb -v
发现是7.4版本的,我们编译的正好也是7.4版本的哦!
7、拷贝:cp tmp/bin/arm-linux-gdb /bin/
以后我们如果想使用我们自己编译的gdb的话可以使用绝对路径:/bin/arm-linux-gdb
gdbserver:
1、cd gdb/gdbserver/
2、配置: ./configure --target=arm-linux --host=arm-linux
3、编译: make CC=arm-linux-gcc
4、将gdbserver拷贝到开发板的bin目录下
ps:
acer笔记本上ubuntu 12.04 gdbserver依旧不成功,始终报错:。。。
二、segmentation fault:
gdbserver调试cgi时,单步到strstr函数,遇到题中报错。
调试发现,其第一个参数parameter为NULL即0,任何对于0地址操作均报错。