如何查看共享库加载的顺序 [英] How to see the order of shared library loading
本文介绍了如何查看共享库加载的顺序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
鉴于ELF二进制或共享库,我如何最轻松地查看所需共享库的加载顺序?
Given an ELF binary or shared object, how can I most easily see the order in which the needed shared libraries will be loaded?
它们是否按照 readelf -d
列出的顺序加载?
Are they loaded in the order they are listed by readelf -d
?
推荐答案
如何最轻松地查看所需共享库的加载顺序?
how can I most easily see the order in which the needed shared libraries will be loaded?
使用 LD_DEBUG
:
LD_DEBUG=files /bin/ls
13444:
13444: file=libc.so.6 [0]; needed by who [0]
...
13444: file=libnss_files.so.2 [0]; needed by who [0]
...
有关更多信息,请参阅ld.so.
For more info man ld.so.
它们是否按照readelf -d列出的顺序加载?
Are they loaded in the order they are listed by readelf -d?
不一定是它会受到预加载( LD_PRELOAD
,/etc/ld.so.preload
)的影响.
Not necessarily e.g. it will be influenced by preloading (LD_PRELOAD
, /etc/ld.so.preload
).
这篇关于如何查看共享库加载的顺序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文