如何列出程序的所有依赖项(库)和配置,即使它获得了 argv,这会改变依赖项?
答案1
如果您的程序使用 GNU C 库的动态链接器 ( ld.so
),您可以通过设置来运行它并跟踪它加载的所有库LD_DEBUG=libs
:
LD_DEBUG=libs yourcommand --args
这将允许您确定更改程序的参数是否会更改它加载的库。
请注意,显示的任何库ldd /path/to/yourcommand
都将始终被加载,不会根据程序参数而变化。使用加载的库dlopen
可能会有所不同,这将使用此技术显示出来。
如果您想了解读取了哪些配置文件,请使用strace
:
strace -e open yourcommand --args