如何查看共享库加载的顺序 [英] How to see the order of shared library loading

查看:61
本文介绍了如何查看共享库加载的顺序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

鉴于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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆