众所周知:Windows的很多应用程序都是不但有可执行的EXE文件,而且还需要有辅助模块,这些模块形形色色,品类颇杂,其中名声最大的就数动态连接库(DLL)了,另外还有:ocx、sys等等.像应用程序可以分成16位、32位、64位程序一样,模块也分为16位、32位、和64位模块.因删除应用程序或可执行文件时,相关的动态链结库或模块往往不能删除干净,时间一长,形成许多使人生厌的"垃圾文件".所以,通常很多使用windows的人对DLL文件的关心都集中在研究哪些是有用的,哪些是无用的,以期准确地删除无用部分,即完成所谓的系统减肥,不过,这不是本次讨论的中心,我们的目的是从另一个方面研究模块文件,下面提到的,就是一个这样的工具.
a.简介
Windows2000专业版的Support Tools中有一个专门分析模块文件的工具,其英文名字是:Dependency Walker,直译是"从属漫步者",这个名字无论如何都透着别扭,不符合中文表达的特点.通过使用验证和查看参考资料,把它进行引申,翻译为"模块解析工具"较为合适些.与上述为系统减肥的目的不同,模块解析工具可以探测出:模块的从属关系、建立者、功能接口、调用关系、甚至生成模块文件所使用的编程语言、程序链结时用的链结器版本等等信息,解析出的从属关系是用一个类似目录树的图标格式显示出来的.当然还能显示运行模块至少需要使用哪些关联文件,连同文件的完整路径、基本地址、版本号、计算机类型、Debug信息以及其它等等信息,可谓是方方面面、应有尽有.
从这些信息的性质不难看出,对系统管理员、系统测试者、编程人员、自动安装脚本编写人员来说,这类信息用处大些.对普通的使用者,用处小些.但也非无可所用.普通使用者可以用这些解析结果来排除由于模块引起的系统故障,模块导致的系统故障主要包括:
1.模块丢失.
2.无效模块.
3.执行的出口/入口搭配错误.
4.循环错误.
5.模块与计算机类型的搭配错误.
尽管该工具是win2k的支持工具,但也能运行在win9x、winNT3.51、winNT4.0的操作系统环境中,甚至还包括windows CE.目前Dependency Walker的最新版本是2.0.该版本只支持解析32位或64位模块,已经不支持16位模块了.
b.用法略谈
与其它工具不同,这个工具只有GUI界面的版本而没有命令行版本.如果你已经安装了Support Tools,可以这样打开:"开始->程序->Support Tools->Tools->Dependency Walker ".这也是一个英文界面的工具,并有英文帮助文件供参考.下面简单介绍一下使用方法:
1.首先用鼠标点击”File|Open”.
2.打开一个要解析的EXE、DLL、OCX或SYS文件,找好之后,鼠标双击文件名.
3.双击后,原来空空如也的窗口立刻"热闹"起来,显示出对选定模块的解析结果.
一共分成五个窗口,以五种颜色的矩形线框来标识,
1.红色线框的窗口,里面的内容以类似目录树的表示方法,显示的是模块之间的从属关系,点击节点上的" "或"-"号,可以将分支展开或折叠.这实际上也显示了模块的调用关系,例如大名鼎鼎的KERNEL32.DLL就不止在一处出现,也就是说,这个模块被多次或多处调用.
2.蓝色线框的窗口.显示的是选定模块(即红色线框中的蓝色光标选定的模块)的信息:这些信息有:序号,线索号,函数及登录指针.
3.绿色线框中显示的是以C语言为基准解析的模块信息:项目与上面相同但表示方法不同,最明显的是函数部分,列出了假定原程序是以C环境开发时模块使用的C函数名称,这对于编程人员进行模块分析很有用处.其余的与上面相似.
推荐阅读
- Win2000添加常用服务设置网络属性
- 回来吧大叔大结局解析
- Windows 2000 故障解决一览
- 声光报警器自带模块不
- Windows 2000 分区异常故障疑难解析
- 让Win2000系统达到最佳性能
- 快速恢复Win2000/XP管理员密码
- 恢复Win2000/XP管理员密码
- Win2000特殊的系统目录和文件
- Win2000/XP/2003下的密码探测器