c - 拦截 stat()

标签 c linux stat

我已成功拦截对 read() 的调用, write() , open() , unlink() , rename() , creat()但不知何故截获完全相同的语义stat()没有发生。我已经使用 LD_PRELOAD 更改了执行环境。

我错过了什么吗?

代码比较大,贴出来哪部分对大家帮助最大?

谢谢。

编辑:我保留了插入的 stat() 包装器,以检查它是否有效。

int stat(const char *path,struct stat *buff)
{
    printf("client invoke: stat %s",path);
    return 1;
}

最佳答案

编译调用stat()的函数;查看生成了哪些引用 (nm -g stat.o)。然后您将更好地了解要插入的功能。提示:它可能不叫 stat()

关于c - 拦截 stat(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8237294/

相关文章:

c - 每个结构有不同类型的原因可以解释吗?

c - 二叉树传输

winapi - WIN32 上的 struct __stat64 和 struct _stati64 有什么区别?

c - mingw 中的 stat() 工作不正确

linux - 使用 stat() 检查文件是否存在以及我们是否具有读取权限

c - 获取字符串并转换为 double

c - 将动态数组传递给c中的函数

linux - 向匹配模式的行添加行计数器

linux - 每天检查目录是否有新文件 - linux bash 脚本

linux - 如何检查 vsyscall 模式