揭秘Linux核心偵錯程式之內幕(轉)
揭秘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
除錯核心問題時,能夠跟蹤核心執行情況並檢視其記憶體和資料結構是非常有用的。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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux 核心偵錯程式內幕(轉)Linux
- 螢幕取詞核心內幕 (轉)
- Linux開機程式內幕(轉)Linux
- 偵錯程式--jdb.exe(轉)
- Emacs 除錯祕籍之 GUD 偵錯程式Mac除錯
- 如何在Docker內部使用gdb偵錯程式Docker
- Linux gdb偵錯程式用法全面解析Linux
- 在偵錯程式下觀察Linux核心的資料包傳送過程Linux
- 微信偵錯程式
- 在Docker內部使用gdb偵錯程式報錯-Operation not permittedDockerMIT
- linux核心系列之程式管理(轉)Linux
- Nimda程式設計內幕 (轉)程式設計
- linux下的c/c++偵錯程式gdbLinuxC++
- 【轉載】Linux核心除錯之使用模組引數Linux除錯
- Slackware Linux技術內幕之--包管理機制(轉)Linux
- Xcode偵錯程式LLDBXCodeLLDB
- go語言偵錯程式Go
- Linux下彙編偵錯程式GDB的使用薦Linux
- ShowMeBug 核心技術內幕
- 偵錯程式工作原理(三):除錯資訊除錯
- 偵錯程式工作原理(3):除錯資訊除錯
- Python 偵錯程式入門Python
- 偵錯程式到底怎樣工作
- PsySH作為偵錯程式
- 反除錯 -- 利用ptrace阻止偵錯程式附加除錯
- 開發一個 Linux 偵錯程式(八):堆疊展開Linux
- 開發一個 Linux 偵錯程式(九):處理變數Linux變數
- C++結構體內幕揭秘:sizeof之謎與記憶體佈局探秘C++結構體記憶體
- Windows 11 核心新偵錯程式「GitHub 熱點速覽 v.23.01」WindowsGithub
- 另一個Swoole偵錯程式 - Yasd
- 偵錯程式是個大騙子!
- GDB偵錯程式(學習筆記)筆記
- VB 程式大揭秘 (轉)
- Linux核心程式設計(阻塞程式)(轉)Linux程式設計
- 使用GDB命令列偵錯程式除錯C/C++程式命令列除錯C++
- CodeBlocks偵錯程式設定錯誤問題BloC
- Google Earth揭秘蘇丹達爾富爾戰亂內幕Go
- UE4藍圖AI角色製作(四)之Gameplay偵錯程式AIGAM