当我执行第三方程序时,是否可以看到(并跟踪)所有可能的对其他程序的外部调用以及相应的参数?
假设我有一个程序“foo”,它在某些时候会调用不同的外部脚本或 shell 命令。是否可以跟踪这些脚本或命令?
先感谢您
答案1
看来您正在寻找strace
- 来自 strace 包。
例如,您可以通过运行以下命令来追踪与文件相关的系统调用:
strace -e file ls
或者也可以使用LD_DEBUG
环境变量。虽然不太为人所知,但仍然是一种非常有趣的调试方式,尤其适用于无法安装 strace 或其他调试工具的情况。
LD_DEBUG=help cat
将为您提供选项。