(相关如何找到程序打开/读取/写入的所有文件?但不幸的是,这些答案已经过时了。似乎安全性和多核问题一直在困扰着 macos 迭代的解决方案。)
假设我对 macos 命令行程序产生了怀疑,或者我想了解clang
( gcc
) 在执行其工作时读取的内容。因此,我想运行
$ ftrace "gcc a.c" &> all-files-accessed-by-gcc-compiling-a.c
稍后我可以grep
使用文件名,例如,它是否访问了我的任何文件.ssh
。
这容易吗?某种 strace 或 ktrace 或 dtruss 调用?