环境QQ2440配套的环境
由于之前习惯了用gdb调试coredump,所以,打算自己编一个QQ2440上的gdb文件
很早以前用的是gdbserver,后来发现,有的时候没有网络环境的时候,还真就得有一个gdb,所以,编译了一个静态的gdb
[root@T-bagwellgdb]# ll gdb -rwxr-xr-x 1 root root 11937427 2009-09-14 07:23 gdb [root@T-bagwell gdb]# file gdb gdb: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, for GNU/Linux 2.6.14, not stripped [root@T-bagwell gdb]#
|
编译完以后,生成的文件就是这样的
具体过程如下:
编译的时候遇到了需要找到termcap,我先交叉编译了termcap,然后暂时先存着
然后把gdb里的configure改了一下,我做成了patch,在附件中能看到
|
文件: |
gdb-6.8-patch-for-QQ2440.patch.gz |
大小: |
0KB |
下载: |
下载 | |
大了patch以后不行的,还要找到之前编译的termcap的lib,因为在最后链接生成gdb的时候需要用到libtermcap.a文件,我交叉编译的时候,直接将其生成在对应的目录下了
在configure配置gdb环境时
../gdb-6.8/configure --target=arm-linux --host=arm-linux --enable-static
|
链接的时候我使用了命令
arm-linux-gcc -g -O2 -static -o gdb gdb.o libgdb.a ../readline/libreadline.a ../opcodes/libopcodes.a ../bfd/libbfd.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -lm ../libiberty/libiberty.a -ldl /usr/local/arm/4.3.2/lib/libtermcap.a
|
搞定,该gdb可以使用了
可以生成core文件,然后调试了
阅读(6150) | 评论(0) | 转发(1) |