之前不是很习惯使用GDB,但是经过几次公司任务后发现这个东东没有是不行的,对于不同平台要编译不同的gdb,其实就是为了方便我们调试程序,调试BUG。
编译GDB无非也就是三步走战略,./configure make make install,但是如果不额外加一些参数或者库的话会出一些错误,就此总结一下编译过程。
一、准备工作:
1.http://ftp.gnu.org/pub/gnu/ncurses/下载源码:ncurse 5.7
2.http://ftp.gnu.org/gnu/gdb/下载源码:gdb-7.5.tar.bz2
二、编译ncurse 5.7
./configure --host=arm-linux --prefix=/home/gdb/bin --without-ada --enable-termcap --with-shared
make
make install
三、编译gdb-7.5.tar.bz2
./configure --host=arm-linux --enable-shared --prefix=/home/gdb/bin --without-x --disable-gdbtk --disable-tui --without-included-regex --without-included-gettext LDFLAGS="-L/home/gdb/bin/lib" CPPFLAGS="-I/home/gdb/bin/include"
make
make install
四、测试
在/home/gdb/bin目录下生成有gdb,gdbserver等工具。将编译好的测试文件gdbtest,和源文件放入这个目录,然后使用nfs挂载到开发板。使用
./gdb gdbtest然后,就能调试了
五、相关问题
1..测试过过程中找不到libncurses.so.5,这时候要将/home/gdb/bin/lib目录中的三个libncurses文件全放到你自己的开发板的/lib目录下即可。