如何跟踪Linux内核中的write系统调用?

2023-12-21

我正在尝试这样做: 我通过 iperf(一种开源工具)从一台机器向另一台机器发送数据包,我想跟踪写入系统或发送调用。 请帮助我做到这一点,如果有人可以指导通过 Ftrace 框架来跟踪系统调用,否则通过任何其他跟踪工具就太好了。


困难的部分是准确地知道要跟踪什么,以便您只能看到您想要的结果,但跟踪本身非常简单:

  • 首先,您的内核必须配置 CONFIG_FTRACE=y
  • 确定您要跟踪的事件

    猫/系统/内核/调试/跟踪/available_events

  • 将您选择的事件写入set_event

    echo sys_enter_write > /sys/kernel/debug/tracing/set_event

  • 确定您要跟踪的跟踪类型

    猫/系统/内核/调试/跟踪/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/内核/调试/跟踪/跟踪

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何跟踪Linux内核中的write系统调用? 的相关文章

随机推荐