好酷的特性:LD_PRELOAD

Solaris下有个动态链接器,就是ld: /usr/lib/ld.so.1
它提供了一个非常酷的特性,Interposition。
默认情况下,ld会根据symbol搜索相应的静态库文件并动态倒入该库文件。
如果通过LD_PRELOAD设置库文件后,该库文件就会成为一个interposer,ld会先从interposer搜索相应的symbol,
然后再搜索其它相应的系统库文件。

这个LD_PRELOAD提供的功能对一些应用,如不能修改代码的情况下,就非常方便。
比如我们要看程序memory分配,可以参考这个网页:http://developers.sun.com/solaris/articles/lib_interposers.html
里面具体介绍了如何动态分析memory分配。

当然ld也支持多个interposer,只需在LD_PRELOAD设置时用冒号(:)隔开。

----

64 位系统则需要分别为32位和64位程序设置:LD_PRELOAD_32, LD_PRELOAD_64

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值