linux内核调试技巧三:kallsyms

来源:互联网 发布:地铁体检不合格知乎 编辑:程序博客网 时间:2024/06/07 01:28

kallsyms是linux的一个子系统,顾名思义,kernel_all_syms,也就是内核的所有符号。

kallsyms子系统的功能是把内核代码的所有符号(其实不是所有,没仔细研究,不过重要的都有了)抽取出来,做成一个符号表,从而方便调试。

除了调试之外,Linux程序也可以直接查找这个符号表。

在livepatch中就是通过查找这个符号表,根据符号名得到符号的地址。

开启kallsyms子系统的方法:

内核配置系统中设置CONFIG_KALLSYMS=y,CONFIG_KALLSYMS_ALL=y