原理:在主机上远程调试运行在开发板上的程序。gdb客户端运行在主机上,gdbserver运行在开发板上。
准备工作:
1.从http: //ftp.cs.pu.edu.tw/Linux/sourceware/gdb/releases/下载gdb7.4源码包
2.安装相关软件包:
sudo apt-get install libncurses5-dev
sudo apt-get install m4
sudo apt-get install flex
sudo apt-get install bison
主目录:cd gdb7.4/
./configure --target=arm-vfp-linux-gnu --prefix=/home/work/gdbserver/ -v
到/home/work/gdbserver/bin目录下:file一下,发现是x86型的可执行文件
到.bash_profile目录下添加目录/home/work/gdbserver/bin到PATH变量中
cd gdb7.4/gdb/gdbserver
./configure --target=arm-vfp-linux-gnu --host=arm-vfp-linux-gnu
vi config.h
//#define HAVA_SYS_REG_H //注释此句
make CC=arm-vfp-linux-gnu-gcc
在此目录中生成gdbserver可执行文件,file一下,发现是arm类型的可执行文件
(gdb) set solib-search-path /home/test/toolchain/bfin-linux-uclibc/bfin-linux-uclibc/runtime/lib:/home/test/kernel/uclinux-dist/staging/usr/lib
查看一下你的共享库,看看是不是指向正确的地方:
(gdb) info sharedlibrary
From To Syms Read Shared Object Library
0x00248c78 0x00269b34 Yes /home/test/kernel/uclinux-dist/staging/usr/lib/libeXosip2.so.4
0x00c88310 0x00c8834c Yes /home/test/toolchain/bfin-linux-uclibc/bfin-linux-uclibc/runtime/lib/libresolv.so.0
0x02628490 0x02682ae4 Yes /home/test/kernel/uclinux-dist/staging/。。。。。。。。
但是,我试了没有效果。我的ld-linux.so.2 yes后面多了个(*)然后,提示:(*): Shared library is missing debugging information.