我已成功拦截对 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/