4

一段时间以来,我一直在使用 linux 跟踪工具(Lttng,http ://lttng.org/ )。目前,我正在使用带有 Lttng 插件的 Eclipse 解释跟踪。虽然使用这个工具我可以检索与系统调用、上下文切换相关的日志,但我找不到一种方法来跟踪在特定位置发生的特定事件,比如外围设备引发的中断。我还尝试在 KProbes 进行动态跟踪,但徒劳无功。任何建议/指导都将很有用并受到高度赞赏。

4

1 回答 1

3

如果您知道要检测哪个功能,我建议您尝试使用“--function”lttng 选项来检测特定功能的进入/退出。“--probe”允许您在特定符号和偏移处或特定地址处放置断点。有关详细信息,请参见 lttng(1) 联机帮助页。

实现目标的另一种方法是使用针对 IRQ 条目的跟踪点。您可以使用 lttng list -k 列出内核跟踪点,然后专门启用 irq 入口跟踪点。然后,您必须使用例如 grep 来查找您在跟踪中寻找的适当的 IRQ 号。从 lttng 2.1 开始,“grep”方法是唯一允许过滤事件内容(字段内容)的方法。在不久的将来,我们计划将过滤器字节码解释器从 LTTng 用户空间跟踪器 (UST) 移植到 lttng 内核跟踪器 (lttng-modules)。

最好的祝福,

马修

于 2013-01-30T14:18:05.903 回答