kgdb
(kernel gnu debugger
)是一種源**級
linux
核心偵錯程式,它以樁函式的方式存在於核心的各個異常處理函式入口,接管核心所有的異常處理。它構建了一種對核心異常的管理機制,例如對斷點異常的管理,對單步異常的管理等,通過對這些異常的管理來達到除錯核心的目的。
kgdb
與執行在主機端的偵錯程式
gdb (
gnu debugger
)配合使用,為除錯
linux
核心提供了一種交叉除錯機制。
gdb
與kgdb
通過串列埠或網口進行資訊互動,使用者可以動態地檢視和修改系統的各種變數,或者在核心中進行斷點設定、單步執行、檢視暫存器和堆疊等操作,與除錯普通的應用程式非常相似。
本文就kgdb
核心版本的製作、配置、編譯和環境搭建進行詳細的描述,能對使用者自行搭建
kgdb
環境並除錯起到指導作用。 在
linux
的發布**上可以獲取到
2.6.15
~2.6.20
的kgdb
補丁。2.6.21
的發布移到了開源**
sourceforge
上。由於
kgdb
補丁並不是對所有核心版本都支援,在選擇補丁版本時應選擇與核心版本最接近的。目前
m300
專案基於
linux 2.6.21
開發,而
kgdb
補丁恰好沒有該版本,所以選擇
2.6.18(arm, ppc, mips)
的補丁作為移植物件。由於核心與補丁的版本號不相同,只能靠手工合**的方式將補丁中的**移植出來,而不能使用
patch
命令。因此選擇2.6.18 補丁作為移植物件。
公共**即對與處理器架構無關的**進行修改,來使
kgdb
獲得對核心的統一的處理。這其中包括: ø
網絡卡驅動和串列埠驅動部分:
用 kGDB 除錯 Linux 核心
這個文件記錄了用kgdb除錯linux核心的全過程,都是在前人工作基礎上的一些總結。以下操作都是基於特定板子來進行,但是大部分都能應用於其他平台。要使用kgdb來除錯核心,首先需要修改config配置檔案,開啟相應的配置,配置核心啟動引數,甚至修改串列埠驅動新增poll支援,然後才能通過串列埠遠端除...
android HDCP移植開發小結
hdcp high bandwidth digital content protection 用以保護數字內容。hdcp在2.0以前的版本都主要是配合hdmi等需要有線連線的裝置的,隨著網路的發展,數字內容的保護需求明顯增加,為了新的應用的需要,hdcp2.0出現了,它只是需要tcp ip連線即可,...
kgdb除錯注意事項
0 首先提下注意事項的背景 kgdb和printk共用乙個串列埠 1設定波特率 最高支援460800波特率 arm eabi gdb vmlinux gdb set remotebaud 460800 設定使用哪個埠,作為通訊埠 gdb target remote dev ttyusb0 2 使用的...