首页> 软件下载> 生活实用> Dependency Walker
Dependency Walker

Dependency Walker

类型:生活实用
更新:2024-11-20 17:56:02
大小:438MB
版本:v2.37
语言:简体中文

下载排行

  • 游戏介绍
  • 游戏截图
  • 相关版本
  • 相关资讯

Dependency Walker现已收录吉游戏#手机软件#,#生活实用app#栏目,玩家可以在这里放心下载体验。以下是软件的详细介绍:

Dependency Walker 是一款专业的软件与程序依赖性分析工具。它能够扫描所有 32 位或 64 位的 Windows 模块,像 exe、dll、ocx、sys 这些文件都在其扫描范围内,并且支持构建相关模块的分层树形图,以此帮助用户解决加载和执行模块时出现的系统错误。

此外,Dependency Walker 有着多样且丰富的功能,主要包括一是查看 PE 模块的导入模块;二是查看 PE 模块的导入和导出函数;三是对 PE 模块的模块依赖性进行动态剖析;四是解析 C++ 函数名称。有需要的朋友可以免费下载使用。

软件特色

1、可以扫描任何32位或64位的Windows模块(exe,dll,ocx,sys等)并构建所有相关模块的分层树形图。

2、对于解决与加载和执行模块相关的系统错误非常有用。

3、可以在Windows 95、98、Me、NT、2000、XP、2003、Vista、7和8上运行。

4、完全免费使用。但是,您不得从其分销中获利,也不得将其与另一种产品捆绑销售。

Dependency Walker使用方法

1、打开Dependency Walker,直接拖入目标exe文件或者dll文件(也可以点击菜单栏上的File,通过Open对话框来打开目标文件),运行界面如下

圈选部分为TestDll.exe的依赖关系,它依赖MyDll.dll、MSVCP1400.DLL等,其各自又依赖其他DLL。

从中可以看出其依赖的深度较大,一般只需要查看最顶层的三次依赖即可。

2、单击MyDll.dll,运行界面如下

3、界面右侧的Function下的函数签名不太清晰,可以右键函数名,选择Undecorate C++ Functions,将函数签名转换成更为易读的形式

4、转换后的形式如下

上部的圈选部分是MyDll.dll的引用对象(也即TestDll.exe)使用的导出函数,下部的圈选部分是MyDll.dll所有的导出函数。从图中可以看出,MyDll提供了4个函数而TestDll只使用了其中的int Minus(int, int)和int Mutiply(int, int)。

另外,注意下其中的颜色标识, 上部的引用函数,如果在动态库中存在,显示为绿色;如果不存在显示为红色。下部的导出函数,如果被引用,显示成深蓝色;如果未被引用,显示成灰色。

5、函数缺失

如果将MyDll中的函数int Minus(int, int)删除,重新生成MyDll.dll,然后再次查看TestDll.exe的依赖关系,显示如下

此时,TestDll.exe引用的两个函数int Minus(int, int)在MyDll.dll中已不存在,所有显示成红色;而int Multiply(int, int)依旧存在,显示成绿色。这时运行TestDll.exe,会报错显示如下

常见问题

1、Dependency Walker似乎只显示了我的应用程序的一些依赖项。为什么不全部显示出来?

当您第一次在Dependency Walker中打开一个模块时,它只显示隐式、转发和延迟加载依赖关系。许多依赖项是动态加载的,直到您从Dependency Walker中分析应用程序时才会被检测到。如需详细资讯,请参阅相依性Walker处理的相依性类型和使用应用程式分析来侦测动态相依性。

2、为什么我在很多应用程序中看到MPR.DLL在SHLWAPI.DLL下以红色显示,因为它缺少一个名为WNetRestoreConnectionA的函数?我还收到一条警告由于延迟加载相关模块中缺少导出函数,至少有一个模块有未解析的导入消息。

SHLWAPI.DLL的某些版本(如Windows XP上的版本)对MPR.DLL的函数WNetRestoreConnectionA有延迟加载依赖。只要调用DLL准备好处理这种情况,丢失延迟加载函数就不是问题。Dependency Walker标记所有潜在的问题,因为它无法检测应用程序是否打算处理该问题。在SHLWAPI.DLL的情况下,这不是一个问题,因为它不要求WNetRestoreConnectionA存在,并在运行时处理缺失的函数。可以忽略此警告。有关更多详细信息,请参见帮助中的如何解释Dependency Walker中的警告和错误部分。

3、为什么MSJAVA.DLL显示为黄色(缺少模块),而我得到一条警告至少有一个延迟加载依赖模块没有找到的消息?

与Windows XP SP2和Windows 2003 SP1一起发布的MSHTML.DLL模块具有对MSJAVA.DLL的延迟加载依赖性。只要调用DLL准备好处理丢失的模块,丢失延迟加载依赖项就不是问题。Dependency Walker标记所有潜在的问题,因为它无法检测应用程序是否打算处理该问题。在这种特殊情况下,MSJAVA.DLL是一个可选模块,MSHTML.DLL准备处理它。可以忽略此警告。有关更多详细信息,请参见帮助中的如何解释Dependency Walker中的警告和错误部分。

Dependency Walker游戏截图

  • Dependency Walker
  • Dependency Walker
  • Dependency Walker

相关版本

相关软件