【问题标题】:I want to count how many times system call was called in C我想计算在 C 中调用了多少次系统调用
【发布时间】:2021-12-11 23:54:35
【问题描述】:

我想计算调用了多少次系统调用。 我在 C 中制作包装函数以挂钩“打开”系统调用。 首先我做的是用 openHooking.c 覆盖 open.c 在该代码中,我添加了一个将 shell 变量更改为原始 open.c 内容的代码。 我认为我可以通过在 shell 中声明环境变量并在 C 脚本中更改它来做到这一点。 但我意识到这是不可能的,因为子进程不能改变父进程。 我想知道系统调用被调用了多少次 我该怎么做?

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: linux shell ubuntu linux-kernel operating-system


【解决方案1】:

strace 可以通过--summary--summary-only 为您执行此操作,或者通过分析其输出自己进行会计处理!
https://man7.org/linux/man-pages/man1/strace.1.html

有很多标志,但也许只是

strace --follow-forks --summary ./a.out

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 2019-08-17
    相关资源
    最近更新 更多