GDB

編譯 gdb

wget -c http://ftp.gnu.org/gnu/gdb/gdb-7.12.tar.gz

./configure --enable-targets=all --enable-64-bit-bfd --prefix=/home/xxxx/.mybin/gdb-7.12

make -j8 && make install

cgdb

$ git clone git://github.com/cgdb/cgdb.git
$ cd cgdb
$ ./autogen.sh


$ ./configure
$ make

##1. 非嵌入式應用程序開發:

編譯時加上調試信息, 在Makefile裡加上 CFLAGS += -g, 使用gdb(文本界面)調試, 或者境加型cgdb, 圖形界面有DDD等等。

##2. 嵌入式應用程序開發:

編譯時加上調試信息, 在Makefile裡加上 CFLAGS += -g, 在開發機上運行gdb通過網絡連接到目標機,目標機運行gdbserver.

##3. Linux內核調試方法: 源代碼級調試: kgdb,kgdb調試需要在make menuconfig內核選項中選上gdboc(串口),或者gdboe(以太網)和相應在的選項。 kgdboc需要特別的串口驅動程序,例如8250。

源代碼級調試: JTAG調試,需要硬件「仿真器」,例如Jlink, BDI3000等。

我的經驗:

gdb, gdbserver, Jlink都使用過。Jlink調試時,在開發機windows平臺上運行「Jlink自帶的gdb服務器」,通過Linux的gdb網絡連接到「Jlink自帶的gdb服務器」。kgdbc在Mini2440上不成功, 因為需要特別的串口驅動。


书籍推荐