【问题标题】:Analysing system calls分析系统调用
【发布时间】:2015-03-10 04:59:19
【问题描述】:

作为系统调用分析的一部分,我想找出从系统启动到系统关闭期间系统调用的所有系统调用。我该怎么做?需要帮忙。

【问题讨论】:

  • 没有办法缩小搜索范围吗?跟踪系统中的所有系统调用会使其非常慢。
  • 显然,这可以通过只考虑一些系统调用来实现。
  • 不是很慢...停止它。这样做有一个量子力学问题。激活这种东西的界面是什么?系统调用?如果是这样,是否应该跟踪此系统调用?如果是这样,我们是不是陷入了某种递归深坑?

标签: linux linux-kernel ubuntu-14.04 system-calls


【解决方案1】:

看看 SystemTap。 https://sourceware.org/systemtap/

这是一个非常强大的跟踪/调试框架。您可以使用几行 stap 脚本轻松探测所有系统调用。

例如:https://sourceware.org/systemtap/examples/process/syscalltimes

【讨论】:

    【解决方案2】:

    跟踪系统调用的最简单方法,当你运行应用程序时,使用“strace”命令运行它,它会列出程序或应用程序使用过的系统调用。

    【讨论】:

    • 提问者想要追踪来自 all 应用程序的 all 系统调用。没有一个应用程序。所以用 strace 不容易做到。
    【解决方案3】:

    我认为this 将提供有关在不同运行级别上跟踪系统调用的良好知识。实际上,这将跟踪所有用户和内核事件,但我们可以通过提供选项仅跟踪系统调用。

    参考:http://lwn.net/Articles/492296/

    【讨论】:

    • 仅链接的答案不太受欢迎。如果您添加一些解释会很好。
    猜你喜欢
    • 1970-01-01
    • 2012-03-04
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-25
    • 1970-01-01
    • 2011-09-09
    相关资源
    最近更新 更多