system-calls - 用于挂钩 open() 的 LD_PRELOAD 仅适用于 proc 文件系统
问题描述
我正在尝试映射我的程序创建和打开的所有文件。为此,我实现了自己的open()
函数,将文件路径参数写入输出文件,然后调用原始的open()
. 使用LD_PRELOAD
我成功地挂钩 proc 文件系统open()
,但不是直接open()
在我的代码中。
以下代码被LD_PRELOAD
:
system("echo text > /user/prog");
以下 cose 不被LD_PRELOAD
:
open("/user/prog", O_RDWR, O_CREAT);
这两个代码行位于同一个文件中,彼此相邻。
这可能是什么原因?
解决方案
推荐阅读
- android - 如何在每个随机键中检索数据并在 recyclerview 中显示。我使用firebase数据库请点击链接查看图片谢谢
- python - 无法使用 conda 安装 anaconda 软件包
- javascript - reactjs中的警告错误无法访问代码
- java - 当我们启动 android studio 来创建新项目时,为什么它会自动创建 MainActivity
- powershell - 返回大字节数组时,PowerShell 消耗 GB 的 RAM?
- apache-spark - 如何使用 spark 配置 Yarn 集群?
- xml - XSLT Muenchian 分组到 HTML 表
- android - 如何通过单击回收站视图中同一列表的另一个项目来隐藏列表中的项目?
- visual-studio-code - 为什么“问题”中不存在的文件提示很多错误?
- react-native - 反应原生可访问性Android