Linux Kernel

Kprobe Userspace Tool 使用筆記

By Lin Chieh (Jayce) |  Oct 4, 2021  | Linux Kernel

  kprobe 是一個輕量的 linux kernel 的除錯工具,他可以在不重新編譯核心的情況下追蹤一個函式的呼叫以及回傳,相當方便。kernel 內目前提供了三種類型的 probe,分別是 kprobe、kretprobe 以及 jprobe,三者都是基於類似的原理所實現的。

  詳細的技術原理 … 我也沒弄得那麼清楚 😜,有興趣的可以去看核心的技術說明手冊,會比我介紹清楚得多,這邊只簡單介紹好用工具。

繼續閱讀

Linux Kernel BUG_ON 傾印訊息分析及案例分享

By Lin Chieh (Jayce) |  Dec 4, 2019  | Linux Kernel

  前一陣子有追蹤一個 ARM 平台發生 Kernel BUG_ON 的問題,在同事的協助下花了一點時間終於追出可能的原因。在我剛開始接觸 Linux Kernel 時,遇到這類 log 都很不知道該如何下手,累積了一些經驗以後才慢慢知道該如何切入、分析及找出原因。

  這篇會分享實際分析 Kernel Oops log 的過程,以及相關工具的使用方式做為案例分析給各位參考。

繼續閱讀

Linux 系統程式設計 - fd 及 open()、close() 系統呼叫

By Lin Chieh (Jayce) |  Dec 30, 2018  | C/C++, Linux Kernel

  開始接觸 Linux Kernel 也有差不多一年的時間,最近開始有明顯地感覺到有某種瓶頸存在,仔細思考了一下覺得是底子不夠,所以決定從基礎來好好學習一下,再搭配核心程式碼來確認是否是看到的那樣。這篇主要筆記 file descriptor、open() 及 close() 系統呼叫相關的部分,主要參考 Robert Love 的 Linux System Programming

繼續閱讀