我有兴趣为 Linux 内核分析一个模块。我试过这样:
- 构建内核
CONFIG_PROFILING=y
- 启动内核
profile=2
- 重置探查器
echo 123 > /proc/profile
- 该模块已由专用守护程序成功加载
ioctl
通过特定调用运行正在使用该模块的用户空间应用程序。测试应用程序按预期工作,因此模块工作正常。- 使用System.app与内核一起生成的
readprofile -p /proc/profile -m System.map
位置读取分析信息。
到现在为止还挺好。几乎一切都按预期工作。然而,不起作用的是我没有得到任何关于我的模块的信息,即没有提到模块中的任何功能。
但是,再想一想,我记得我忘记使用CONFIG_PROFILING=y
.
所以,我的问题是:该模块没有出现在分析日志中是因为它没有被编译,CONFIG_PROFILING=y
还是有其他一些我不知道的更明显的原因?
如果有人想知道,为什么我要问而不是立即尝试,那是因为,我不能在家里做,我想在我再次访问代码之前听听知识渊博的人会说什么。