我想记录在系统上调用的所有系统调用。我知道我可以使用各种跟踪工具来完成这项工作,但我想使用perf.来完成
我用记录了系统调用
perf record-e"syscalls:sys_*"-一个
我已经使用perf record
和perf 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。