嵌入式 Linux 的調試技術:架構
Linux內核調試一直被不少人認爲是很是困難的,大多數人寧願直接使用printk 函數輸出調試信息,也不肯意使用各類命令 - (gdb、 gdbserv~r.、.kgdb等)進行調試。由於這樣作並不定能換來更多的好處,本主主要介紹了傳統的 printk 函數調試技術外,也介紹了其餘的調試技術。這些調試技術並不必定都要用到可根據實際狀況決定使用其中的一種或兒種。函數
大多數內核開發人員認爲 kgdb 是最好的內核調試工具。 Kgdb 除了提供相似 printk 函數的日誌 輸出功能,還容許開發人員直接在 PC 上經過 GOB 連接目標設備。在 2.6.15.5 及之前的 Lim肌肉核 版本中並不包含 kgdb,但能夠到 http://kgdb. linsyssoft.com 去下載相應的 kgdb 程序庫。 Kgdb 包含了兩部分: kgdb 內核和一牽鏈接接口。這些接口目前支持串口 tty 設備鏈接和以太 網鏈接。其中串口鏈接須要經過內核參數 kgdboc 指定要鏈接的串口 tty 設備;以太網鏈接經過內核 參數 kgdboe 指定 IP 和端口號。 kgdb 支持多種處理器架構, 例如, X8六、 ARM 等。因爲這些處理 器架構茬異很大,因此 kgdb 單獨爲每一個支持的處理器架構實現了 kgdb 內核,如 ARM 架構的 kgdb 內核源代碼文件是 arch/arm/kemeVkgdb.c。要想用 kgdb 調試 Linux 內核,首先須要配置 Linux 內核。使用 make menuconfig 命令進入 Linux 內核的配置菜單,進入 「Kernel backing氣找到並選中「KGDB: kernel debugger」菜單項。使用 kgdb調試Linux:內核首先須要配置內核參數,這些參數通知 Linux 內核要如何進行調試。假設要經過 U~B 轉 E:OM_ 口數據線進行調試,須要將 kgdboc 參數值設爲 ttyUSBO,傳輸數率爲 115200, 通常會指定 kgdbwait。 這些參數須要在 S3C 開發板啓動過程當中按回車進入 Uboot 模式, 而後使用 seten罕命令設置 Linux 內核的啓動參數,而後使用 saveenv 和 reset命令保存和從新啓動 Linux 內核。接下來的工做就是使用各類.gdb命令進行Linux 內核調試了。工具
http://home.cnblogs.com/u/lkm-6398/debug