想了解 Linux 核心行為,需要一定偷窺經驗,大致可分為以下五類:
- 使用 printk: 在核心或模組代碼欲觀察處插入 printk 輸出資訊。需會編譯核心與模組、正確安裝啟動。雖需較多知識,但屬較土方法,非萬不得已有更簡單方式。
- 查看 dmesg: 取決於核心輸出哪些資訊,dmesg 顯示的通常是重要訊息。
- 精通 procfs: procfs 包含大量有用資訊,可直接查看(格式特殊難讀)或透過工具分析(如 rtstat、conntrack 等皆分析 proc 下檔案並以可讀形式顯示)。核心統計資訊通常有對應 stat 檔案供分析。
- 使用 kprobe: 一種除錯手段,但一般較少使用。
- 運用小技巧: 靠聰明才智設計邏輯,誘導或蹂躪核心進入圈套,驗證猜測。