linux核心除錯技巧三:kallsyms
kallsyms是linux的一個子系統,顧名思義,kernel_all_syms,也就是核心的所有符號。
kallsyms子系統的功能是把核心程式碼的所有符號(其實不是所有,沒仔細研究,不過重要的都有了)抽取出來,做成一個符號表,從而方便除錯。
除了除錯之外,Linux程式也可以直接查詢這個符號表。
在livepatch中就是通過查詢這個符號表,根據符號名得到符號的地址。
開啟kallsyms子系統的方法:
核心配置系統中設定CONFIG_KALLSYMS=y,CONFIG_KALLSYMS_ALL=y