2

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」部分を解決できないようです。あらゆる種類の助けをいただければ幸いです。

ありがとう!

4

1 に答える 1

3

「id」フィールドは、システム コール番号を示します。プローブがまだ LTTng 2.x 内に実装されていないシステム コールは、「sys_unknown」として表示されます。

システム コール ID とその実際の名前の間のマッピングは、通常はシステム全体にインストールされる、アーキテクチャ固有の unistd.h ファイルを調べることで手動で行うことができます。たとえば、x86-64 では、この情報は /usr/include/asm/unistd_64.h にあります。

于 2013-01-30T14:10:44.753 に答える