其實(shí)第四篇也差不多了,是介紹 gdb 在 symbian 系統(tǒng)上的調(diào)試示例。
賣完這些,我也就技窮了。歡迎大家拍磚。
1、什么是gdb ?
gdb 是一個(gè)開源的、應(yīng)用于 linux/unix 平臺(tái)下的 調(diào)試工具。全稱是 gnu debug。( gnu 就不用解釋了吧? ) 是一個(gè) linux/unix平臺(tái)下的源代碼級(jí)的調(diào)試工具。其性能優(yōu)良、功能齊備、易于使用,廣受支持。
目前的版本是 6.8, 2008年 3 月 發(fā)布的。
gdb 的官方網(wǎng)站 是 http://www.gnu.org/software/gdb/。
學(xué)習(xí) gdb 最權(quán)威的教材是 GDB User Manual 和 GDB Internals Manual。你可以在 其官方網(wǎng)站 下載到。http://www.gnu.org/software/gdb/documentation/
1、為什么要使用 gdb。
最樸實(shí)的理由:應(yīng)用場合廣泛。gdb的應(yīng)用場合有多廣泛呢?
可以參考 gdb 的官方網(wǎng)站上一句牛X哄哄的話。GDB can run on most popular UNIX and Microsoft Windows variants.
目前,多數(shù)的嵌入式開發(fā)工具和嵌入式平臺(tái)都支持 gdb 作為調(diào)試工具。從強(qiáng)悍的 BDI,到廉價(jià)的 Wiggler,都支持 gdb 作為調(diào)試工具。而嵌入式的操作系統(tǒng),linux平臺(tái), symbian平臺(tái),Android平臺(tái),也都對(duì) gdb 有良好的支持。
就其功能來說,它有如下的優(yōu)點(diǎn):
1、良好的跨平臺(tái)特性。
2、支持遠(yuǎn)程調(diào)試( remote debug )
3、支持指令級(jí)、函數(shù)級(jí)的控制,包括單步( step )、跳轉(zhuǎn)( jump )、返回( return )等。支持對(duì)寄存器、的讀寫操作,支持條件斷點(diǎn),讀、寫斷點(diǎn),以及硬件斷點(diǎn)。
4、支持內(nèi)核調(diào)試和應(yīng)用程序級(jí)別的調(diào)試,支持源代碼級(jí)的調(diào)試。支持對(duì)正在運(yùn)行的進(jìn)程的 attach和 deattach。
5、對(duì) c++特性的支持和 unix 特性的支持。例如,支持異常捕獲、信號(hào)捕獲。
6、支持對(duì)多線程、多進(jìn)程程序的控制。
優(yōu)點(diǎn)基本說全了吧?簡單地概括就是:別的調(diào)試器有的功能,它有,別的調(diào)試器沒有的功能,它也有。