使用perf录制带有参数的系统调用



我想记录在系统上调用的所有系统调用。我知道我可以使用各种跟踪工具来完成这项工作,但我想使用perf.来完成

我用记录了系统调用

perf record-e"syscalls:sys_*"-一个

我已经使用perf recordperf script查看了输出,但我无法解释输出。我需要系统调用的列表以及传递给它们的参数。类似这样的东西:

  • (系统调用,arg1,arg2,..)
  • (系统调用,arg1,arg2,..)
  • 等等

有人能帮我使用perf获得所需的输出吗?

使用perf trace -i perf.data可以获得一些改进的输出,但您需要一个稍微不同的调用来记录。

# to record
$ perf record -e raw_syscalls:* /bin/true
# to report:
$ perf trace -i perf.data

输出比perf script提供的要好,但仍然很难理解。strace可以计算出更多的内容,但通过编程处理输出会更加困难。

perf是一个探查器,为什么要记录参数?

你要找的工具是systemtap。

最新更新