Dependency Walker

【工具篇】@[TOC]Dependency Walker

Dependency Walker

之前一直用Dependency Walker看DLL导出接口,今天总结一下 Dependency Walker 使用说明。如果你想学习如何使用Dependency Walker, 可以仔细阅读这篇文章,了解一下Dependency Walker对你以后调试DLL有所帮助。

1.什么是DLL?

在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库。现在就让我们走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧!
初窥门径:Windows的基石
随便打开一个系统目录,一眼望去就能看到很多扩展名DLL的文件,这些就是经常说的“动态链接库”,DLL是Dynamic Link Library(即“动态链接库”)的缩写。从Microsoft公司推出首个版本的Windows以来,动态链接库就一直是这个操作系统的基础。

2.DLL有什么?

与其用晦涩的专业术语来解决DLL是什么,不如先来看看DLL里有什么。DLL和EXE文件一样,其中包含的也是程序的二进制执行代码和程序所需的资源(比如图标、对话框、字符串等),可是为什么要把代码放在DLL里面,而不是做成EXE呢?其实DLL中的代码是以API函数形式出现的,通俗地说,DLL中包含的程序代码都被做成了一个个小模块,应用程序通过按下所需DLL中特定的按钮,来调用DLL中这个按钮所代表的功能。在使用“记事本”等程序时,如果要保存文件或打开文件,就会弹出通用文件对话框,让我们选择文件位置。你可知道,这就是调用了系统底层DLL中的通用对话框界面。

3.系统中几个重要DLL

Windows中有3个非常重要的底层DLL:Kernel32.dll、User32.dll、GDI32.dll。其中Kernel32.dll顾名思义就是内核相关的功能,主要包含用于管理内存、进程和线程的函数;而User32.dll中包含的则是用于执行用户界面任务的函数,比如把用户的鼠标点击操作传递给窗口,以便窗口根据用户的点击来执行预定的事件;GDI32.dll的名称用了缩写,全称是Graphical Device Interface(图形设备接口),包含用于画图和显示文本的函数,比如要显示一个程序窗口,就调用了其中的函数来画这个窗口。

4.为什么要用DLL

DLL真的只是将程序代码封装成函数?为什么封装成函数,就能成为系统中大量使用DLL的理由呢?带着这几个问题理解下面五点内容。

①应用程序的扩展

由于DLL能被应用程序动态载入内存,应用程序可以在需要的时候才将DLL载入到内存中,这使程序的可维护性变高。例如腾讯QQ,如果视频部门需要将腾讯视频升级,负责编写的程序员不需要将所有代码都重写,只需要更新相应的DLL文件即可;

②程序员之间合作

简单理解就像建一座大厦需要很多公司合作,有负责材料的公司,有负责运输公司,有负责装修的公司,不同公司用的工具有不同。最后都要按照设计师的图纸进行组合。我们知道编程工具有很多VS、VC、ECLIPSE、QT creater等,如果好几个人合作,编写一个程序

### 回答1: Dependency Walker是一款用于分析Windows操作系统中可执行文件和动态链接库文件的工具。它可以帮助用户查找文件中缺失的依赖项,以及检查文件中的依赖项是否正确。 使用Dependency Walker的步骤如下: 1. 打开Dependency Walker软件。 2. 点击“File”菜单,选择“Open”选项,选择需要分析的文件。 3. 分析完成后,软件会显示文件中的依赖项列表。 4. 如果依赖项中有红色的叉号,表示该依赖项缺失,需要安装相应的组件或库文件。 5. 如果依赖项中有黄色的感叹号,表示该依赖项存在问题,需要检查文件是否正确或重新安装相应的组件或库文件。 6. 如果依赖项中有绿色的勾号,表示该依赖项已经正确安装。 7. 用户可以通过点击依赖项,查看该依赖项的详细信息。 8. 用户还可以通过点击“Profile”菜单,选择“Start Profiling”选项,对文件进行性能分析。 以上就是Dependency Walker的使用教程。 ### 回答2: Dependency Walker是一个用于查看Windows下动态链接库(DLL)及EXE文件所依赖的其他DLL的工具,同时也可以检查文件中DLL的函数调用以及文件导出的函数等信息。下面是该工具的使用教程: 1. 下载安装 Dependency Walker可以在Dependency Walker官网上下载到最新版,也可以在一些资源站上下载,需要根据操作系统位数选择正确的版本进行下载和安装。 2. 打开文件 打开Dependency Walker后,点击“File” – > “Open”按钮,选择需要检查的文件(包括DLL和EXE等),同时可以选择查看当前操作系统的指定模块或者不加载内建项。 3. 查看依赖项 通过打开文件后,Dependency Walker会自动加载该文件依赖的DLL,同时将每个DLL标记出来,显示文件状态以及运行效果。通过展开每个文件,可以查看该文件所依赖的其他DLL。 4. 分析错误信息 当DLL文件出现丢失、不完整或损坏的情况时,Dependency Walker可以帮助诊断错误和解决问题。程序会自动将DLL文件标记为红色,同时列出错误信息,方便用户快速定位问题。 5. 导入导出 通过选择每个DLL,可以查看每个文件导出的函数以及导入的其他函数。 6. 保存结果 可以将分析的结果保存为一个日志文件。选择“File” – > “Save As”按钮,选择保存的位置及命名格式,即可保存。 总之,Dependency Walker是一个非常好用的Windows动态链接库分析工具。使用简单,功能强大,可以帮助用户高效地解决动态链接库错误问题。 ### 回答3: Dependency Walker是一款非常实用的Windows应用程序分析工具。它可以分析Windows应用程序的依赖关系,帮助用户解决应用程序无法正常启动的问题。下面我们就来详细介绍一下Dependency Walker的使用教程。 1. 下载和安装:首先需要从官网下载Dependency Walker的最新版本,并运行安装程序,按照安装向导进行安装。 2. 打开应用程序:选择需要分析的应用程序然后双击打开。注意:有些应用程序可能需要以管理员权限运行。 3. 分析依赖关系:选择File→Open或者点击工具栏上的Open图标,打开需要分析的程序文件。然后点击工具栏中的“Profile”,或者按下F7键,工具开始运行并分析应用程序的依赖关系。 4. 查看依赖关系:分析完成后,Dependency Walker会显示应用程序所依赖的所有DLL。可以通过点击左侧的加号展开或收起依赖的层次结构,并查看每个DLL所依赖的其他组件。 5. 检查依赖关系:如果在依赖关系中出现红色警告标识的DLL,说明应用程序无法找到相关的DLL。此时需要根据提示,手动将对应的DLL文件复制到应用程序所在目录,或者添加到系统的环境变量中。 6. 查看导出函数:可以查看每个DLL导出的函数列表,以及这些函数的地址、名称和类型信息。双击DLL文件名,或选择文件并点击右键,选择“View Export”菜单项,可以查看所有导出函数的详细信息。 7. 查找函数:如果需要查找某个函数所在的DLL,可以使用Dependency Walker的搜索功能。选择“Search”菜单项,或者按下Ctrl+F键,弹出搜索对话框。输入需要查找的函数名称,并选择“Start Search”按钮,工具会查找所有包含该函数的DLL。 以上就是Dependency Walker的使用教程。这款工具功能强大、易于使用,对于故障排查和优化应用程序的性能非常有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值