我正在尝试这样做: 我正在通过 iperf 发送数据包——一种开源工具,从一台机器到另一台机器,我想跟踪写入系统或发送调用。 请帮助我做到这一点,如果有人可以指导通过 Ftrace 框架来跟踪系统调用,否则任何其他跟踪工具都会很棒。
最佳答案
困难的部分是确切地知道要跟踪什么,以便您只能看到您想要的结果,但跟踪本身非常容易:
- 首先,您的内核必须配置为 CONFIG_FTRACE=y
确定要跟踪的事件
cat/sys/kernel/debug/tracing/available_events
将你选择的事件写入set_event
echo sys_enter_write >/sys/kernel/debug/tracing/set_event
确定要跟踪的跟踪类型
cat/sys/kernel/debug/tracing/available_tracers
在 current_tracer 文件中写入您想要的跟踪类型
echo function_graph >/sys/kernel/debug/tracing/current_tracer
启用跟踪:
echo 1 >/sys/kernel/debug/tracing/tracing_on
现在您可以根据需要运行“iperf -c...”,并在完成后禁用跟踪。
echo 0 >/sys/kernel/debug/tracing/tracing_on
查看结果:
vi/sys/kernel/debug/tracing/trace
关于linux - 如何跟踪Linux内核中的write系统调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21889563/