LTTng 2.0:sys_unknown系统调用

时间:2012-12-09 00:07:17

标签: linux linux-kernel lttng

我使用LTTng 2.0来跟踪单击USB鼠标时发生的事件。我得到的痕迹是这样的(不需要的线已被删除):

irq_handler_entry   name=i8042, irq-12
irq_handler_exit    Irq-12, ret=1 (handled)
exit_syscall        ret=1104
sys_unknown         Id=18, args={3, 140405224710240, 1024, 59772114944, 1024, 140405251328896}
exit_syscall        Ret=1024
sys_unknown         Id=18, args={3, 140405255394560, 1024, 3256243200, 2048, 1}
exit_syscall        Ret=1024
sys_unknown         Id=18, args={3, 140405255394560, 1024, 3256243200, 2048, 1}
exit_syscall        Ret=1024
sys_unknown         Id=18, args={3, 140405255303968, 1024, 3256252416, 1024, 1}
exit_syscall        Ret=1024
sys_writev          Vec=140737365122800, vlen=2, fd=4
exit_syscall        Ret=24
sys_read            Buf=140405224710160, count=135168, fd=4

这是我获得IRQ 12(鼠标中断)时开始的跟踪部分,我试图跟踪之后发生的事件,但我似乎无法解决它的“sys_unknown”部分。我希望得到任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:3)

“id”字段表示系统呼叫号码。在LTTng 2.x中尚未实现探测的系统调用显示为“sys_unknown”。

系统调用ID与其实际名称之间的映射可以通过查看特定于体系结构的unistd.h文件手动完成,该文件通常在系统范围内安装。例如,在x86-64上,我可以在/usr/include/asm/unistd_64.h中找到这些信息