7 个版本
0.2.1 | 2022年1月3日 |
---|---|
0.2.0 | 2021年11月6日 |
0.1.4 | 2021年11月4日 |
0.1.3 | 2021年2月9日 |
0.1.2 | 2021年1月31日 |
#1197 在 文本处理
62KB
1.5K SLoC
ftrace
类似于 strace
,但列出程序访问的文件。受 tracefile 启发。
此工具的主要目的是帮助发现程序在其生命周期内访问哪些文件/目录。它通过利用 strace
并解析其输出来找出访问了哪些文件和文件夹。
它支持各种选项,例如基于文件类型(文件、目录、符号链接、管道、套接字、可执行文件等)进行过滤。
用法
查看 ls
在正常运行期间访问的文件
ftrace -- ls
查看所有可执行文件
ftrace --type f --type x -- ls
查看程序尝试访问的所有路径(即使是那些不存在的路径。这有时有助于理解程序使用的搜索算法,例如查找链接库等)。
ftrace --non-existent -- ls
附加到已运行进程(请注意,这需要提升权限)
ftrace --pid 1729
注意事项
由于 strace
通过标准错误输出,如果正在运行的程序也在标准错误输出中发出输出,则可能会混淆 ftrace
。因此,ftrace
不会识别的任何行都将被忽略并不会解析。您可以使用 --invalid
标志打印未识别的行。
安装
首先,请确保您已在系统上安装了 strace
。它几乎总是存在于您的发行版的包管理器中。
预编译的二进制文件
即将推出!(GitHub actions 尚未为此存储库配置。)
通过 Cargo
注意:所需的最小 Rust 版本是 1.46.0
。
cargo install ftrace
从源代码(通过 Cargo)
注意:所需的最小 Rust 版本是 1.46.0
。
git clone https://github.com/acheronfail/ftrace/
cd ftrace
cargo install --path .
许可证:Unlicense OR MIT OR Apache-2.0
依赖关系
~7–16MB
~221K SLoC