我想知道加载内核模块的基地址。十六进制地址/proc/kallsyms
、/sys/module/<MODULE_NAME>/sections/.init.text
和/proc/modules
表示什么。我应该使用哪一个进行调试?
内核执行vmalloc,并将从用户空间传递的模块内容复制到vmalloc'd缓冲区中。模块的基本地址将由/proc/modules 指向的十六进制地址给出
/proc/kalsyms:在内存中加载符号的地址
/sys/module/<模块名称>sections/.init.text:该模块内存中.init.txt部分的起始地址
/proc/modules:内存中模块的起始地址
我建议使用kallsyms进行调试,因为可以在内存中为该符号设置bp