c - 我想以编程方式记录系统调用

标签 c linux gcc x86-64

我想以编程方式记录系统调用。最好的方法是什么?我应该为我的自定义程序使用 strace 的源代码吗?我应该使用 ptrace 吗? strace 内部也使用 ptrace 吗?此外,我不希望由于记录系统调用而减速。 strace 或 ptrace 有多少惩罚?它们能否轻松用于多线程应用程序?

最佳答案

使用 dtrace。 Dtrace 明确用于生产用途,对性能的影响最小。它通过 D 语言提供脚本支持,因此您可以编写自己的脚本来捕获任何内容。

关于c - 我想以编程方式记录系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10582121/

相关文章:

c - waitpid 与 WUNTRACED

c++ - 编写 C/C++ 守护进程 (Linux)

c - arm-none-eabi-gcc 4.8 段错误 (ChibiOS-RT)

C - 读取 .txt 中的新行

C 错误说表达式不可赋值?

linux - 如何进行多行搜索并用脚本替换?

链接&编译后C执行错误

将 D 项目编译为库 - 依赖项会发生什么情况?

c++ - 在 C++ 中继承 C 结构并将其传递回 C 库是否安全?

c - inotify 真的适用于文件还是仅适用于目录?