c++ - C可以用来捕获机器上的系统调用吗?

标签 c++ c operating-system

你好,

我想知道是否有一种方法可以使用 C 或 C++ 进行直接系统调用捕获?

我知道目前在 unix 系统上您可以使用 SystemTap 进行系统捕获。我遇到的问题是,为了将它们提供给另一个程序进行分析,我必须将它们通过管道传递给另一个程序。

我想以编程方式传递内容,因为这比“打印”到管道然后用其他程序读入更容易。

有没有办法做到这一点?难度有多大?

最佳答案

strace正是这样做的。

你可以看看它的source code看看它是如何完成的。

关于c++ - C可以用来捕获机器上的系统调用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5999500/

相关文章:

c - 为什么挂载结构有两个挂载点字段?

java - 获取指定文件路径的file.separator

operating-system - MMU 是在操作系统和物理内存之间进行调解还是只是一个地址转换器?

java - 如何在 WSO2 ESB 4.8.1 中获取进程 ID

c++ - 由于多次释放,停止来自 SIGSEGV 的 C 指针的 std::shared_ptr 包装器

c - openSSL:使用压缩的 CurvePoint R 而不是 r 从原始数据导入 ECDSA 签名

c++ - 在 C++11 中弃用静态类成员

c - OpenGL:如何根据以前的转换结果进行新的转换?

c# - 为什么 STL 中的 set_intersection 这么慢?

c++ - 在输入流中搜索字符串