首页 > 解决方案 > 内核符号 __tracepoint_module_load 在哪里定义?

问题描述

内核符号在哪里__tracepoint_module_load定义?
以前看过/proc/kallsyms,现在找不到了。

bootlin.com/linux/也找不到它。

标签: clinux-kerneltracetracepoint

解决方案


内核符号 __tracepoint_module_load 在哪里定义?

有一个TRACE_EVENT宏,最终使用__DECLARE_TRACE,您可以在其中看到:

extern struct tracepoint __tracepoint_##name;

所以我们可以在include/trace/events/module.hTRACE_EVENT中找到合适的“调用” :module_load

TRACE_EVENT(module_load,
...

In /proc/kallsymsoutputD表示符号在初始化的数据段中:

ffffffff91af5240 D __tracepoint_module_load

PS 如果预处理器魔法elixir.bootlin.com不是那么有用。要进行真正的调查,只需克隆Linux 内核或从pub下载适当的源代码。


推荐阅读