揭秘Linux核心偵錯程式之內幕(轉)

ba發表於2007-08-10
揭秘Linux核心偵錯程式之內幕(轉)[@more@]KDB 入門指南

除錯核心問題時,能夠跟蹤核心執行情況並檢視其記憶體和資料結構是非常有用的。Linux 中的內建內 核偵錯程式 KDB 提供了這種功能。在本文中您將瞭解如何使用 KDB 所提供的功能,以及如何在 Linux 機器上安裝和設定 KDB。您還將熟悉 KDB 中可以使用的命令以及設定和顯示選項。

Linux 核心偵錯程式(KDB)允許您除錯 Linux 核心。這個恰如其名的工具實質上是核心程式碼的補丁,它允許高手訪問核心記憶體和資料結構。KDB 的主要優點之一就是它不需要用另一臺機器進行除錯:您可以除錯正在執行的核心。

設定一臺用於 KDB 的機器需要花費一些工作,因為需要給核心打補丁並進行重新編譯。KDB 的使用者應當熟悉 Linux 核心的編譯(在一定程度上還要熟悉核心內部機理),但是如果您需要編譯核心方面的幫助,請參閱本文結尾處的參考資料一節。

在本文中,我們將從有關下載 KDB 補丁、打補丁、(重新)編譯核心以及啟動 KDB 方面的資訊著手。然後我們將瞭解 KDB 命令並研究一些較常用的命令。最後,我們將研究一下有關設定和顯示選項方面的一些詳細資訊。

入門

KDB 專案是由 Silicon Graphics 維護的(請參閱參考資料以獲取連結),您需要從它的 FTP 站點下載與核心版本有關的補丁。(在編寫本文時)可用的最新 KDB 版本是 4.2。您將需要下載並應用兩個補丁。

一個是“公共的”補丁,包含了對通用核心程式碼的更改,另一個是特定於體系結構的補丁。補丁可作為 bz2 檔案獲取。例如,在執行 2.4.20 核心的 x86 機器上,您會需要 kdb-v4.2-2.4.20-common-1.bz2 和 kdb-v4.2-2.4.20-i386-1.bz2。

這裡所提供的所有示例都是針對 i386 體系結構和 2.4.20 核心的。您將需要根據您的機器和核心版本進行適當的更改。您還需要擁有 root 許可權以執行這些操作。

將檔案複製到 /usr/src/linux 目錄中並從用 bzip2 壓縮的檔案解壓縮補丁檔案:


#bzip2 -d kdb-v4.2-2.4.20-common-1.bz2

#bzip2 -d kdb-v4.2-2.4.20-i386-1.bz2




您將獲得 kdb-v4.2-2.4.20-common-1 和 kdb-v4.2-2.4-i386-1 檔案。

現在,應用這些補丁:


#patch -p1
#patch -p1

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-941637/,如需轉載,請註明出處,否則將追究法律責任。

相關文章