数据恢复 杭州站:杭州市文三路388号钱江科技大厦1016室  电话:0571-85121630 房先生
  数据恢复 温州站:飞霞南路朝霞大楼B幢一楼中五号  电话:0577-88844613 叶先生
  数据恢复 宁波站:海曙区药行街31号灵桥广场4楼C12 电话:0574-87196361 单先生
IT业热闻  
 
·思科IOS系统存在漏洞 计划
·互联网散布黄图 青海首起黑
·黑客盗走“哈利·波特”大
·美五角大楼国防部遭网络攻
·金山毒霸6增强版未获销售许
·Vista发布6个月共有27个安
·微软新补丁与Outlook冲突 
·电话支付种类繁多市场发展
·黑客瞄准谷歌商业广告 故伎
·美国农业部网站数据库漏洞
更多...
病毒预告  
 
·中国2006年度安全报告 新病
·“爱慕波”和“QQ谍”
·“戴得乐”和“搀嘴夫”
·电脑病毒“挪威客”又现新
·IE+雅虎邮件=新安全漏洞?小
·微软联手熊猫反病毒 推Pro
·Linux与视窗谁更安全?最新
·病毒引发的异常现象
更多...
热点文章  
 

·IBM机器报错信息及解决方法
·谈谈硬盘出现物理坏道的迹
·数据恢复点滴经验谈
·Google购买以色列博士生搜
·ibm600x/600e电池电芯更换
·硬盘数据拯救全攻略
·硬盘零磁道与分区表的修复
·微软最新安全补丁不完善 惠
·故障硬盘数据拯救全攻略
·硬盘的数据结构

Linux系统下查看文件调用情况Shell命令 
 
来源: 发布时间:2009-5-1 15:53:08 点击次数: 

ldd /full/path/conmmand


1、首先ldd不是一个可执行程序,而只是一个shell脚本


2、ldd能够显示可执行模块的dependency,其原理是通过设置一系列的环境变量,如下:LD_TRACE_LOADED_OBJECTS、LD_WARN、LD_BIND_NOW、LD_LIBRARY_VERSION、 LD_VERBOSE等。当LD_TRACE_LOADED_OBJECTS环境变量不为空时,任何可执行程序在运行时,它都会只显示模块的 dependency,而程序并不真正执行。要不你可以在shell终端测试一下,如下:


(1) export LD_TRACE_LOADED_OBJECTS=1

(2) 再执行任何的程序,如ls等,看看程序的运行结果


3、ldd显示可执行模块的dependency的工作原理,其实质是通过ld-linux.so(elf动态库的装载器)来实现的。我们知道,ld-linux.so模块会先于executable模块程序工作,并获得控制权,因此当上述的那些环境变量被设置时,ld-linux.so选择了显示可执行模块的dependency。


4、实际上可以直接执行ld-linux.so模块,如:/lib/ld-linux.so.2 --list program(这相当于ldd program)ldd命令使用方法(摘自ldd --help) 名称 ldd - 打印共享库的依赖关系


大纲 ldd [选项]... 文件...


描述 ldd 输出在命令行上指定的每个程序或共享库需要的共享库。


选项

--version

打印ldd的版本号

-v --verbose

打印所有信息,例如包括符号的版本信息

-d --data-relocs

执行符号重部署,并报告缺少的目标对象(只对ELF格式适用)

-r --function-relocs

对目标对象和函数执行重新部署,并报告缺少的目标对象和函数(只对ELF格式适用)

--help 用法信息


注意:

ldd的标准版本与glibc2一起提供。Libc5与老版本以前提供,在一些系统中还存在。在libc5版本中长选项不支持。另一方面,glibc2版本不支持-V选项,只提供等价的--version选项。


如果命令行中给定的库名字包含'/',这个程序的libc5版本将使用它作为库名字;否则它将在标准位置搜索库。运行一个当前目录下的共享库,加前缀"./"。


错误:

ldd不能工作在a.out格式的共享库上。


ldd不能工作在一些非常老的a.out程序上,这些程序在支持ldd的编译器发行前已经创建。如果你在这种类型的程序上使用ldd,程序将尝试argc = 0的运行方式,其结果不可预知。

关于我们 | 联系我们 | 网站地图 | 友情链接 | 订单查询
杭州回天数据恢复中心:杭州市文三路388号钱江科技大厦1016室 客服热线:0571-85125595 85121630
Copyright © 2001-2008 回天数据恢复中心 All Rights Reserved E-mail:webmaster@tzwr.com
浙ICP05036415号