我想计算在 C 中调用了多少次系统调用
I want to count how many times system call was called in C
我想统计系统调用被调用了多少次。
我在 C 中创建了包装函数,该函数挂钩“打开”系统调用。
首先我做的是用 openHooking.c 覆盖 open.c
在该代码中,我添加了将 shell 变量更改为原始 open.c 内容的代码。
我认为我可以通过在 shell 中声明环境变量并在 C 脚本中更改它来做到这一点。
但我意识到这是不可能的,因为子进程不能改变父进程。
我想知道系统调用被调用了多少次
我该怎么做?
strace
可以通过 --summary
、--summary-only
或通过分析其输出自行进行核算!
https://man7.org/linux/man-pages/man1/strace.1.html
有很多标志,但也许很简单
strace --follow-forks --summary ./a.out
我想统计系统调用被调用了多少次。 我在 C 中创建了包装函数,该函数挂钩“打开”系统调用。 首先我做的是用 openHooking.c 覆盖 open.c 在该代码中,我添加了将 shell 变量更改为原始 open.c 内容的代码。 我认为我可以通过在 shell 中声明环境变量并在 C 脚本中更改它来做到这一点。 但我意识到这是不可能的,因为子进程不能改变父进程。 我想知道系统调用被调用了多少次 我该怎么做?
strace
可以通过 --summary
、--summary-only
或通过分析其输出自行进行核算!
https://man7.org/linux/man-pages/man1/strace.1.html
有很多标志,但也许很简单
strace --follow-forks --summary ./a.out