使用Dependency Walker对模块进行故障排除
Dependency Walker递归扫描特定应用程序所需的所有相关模块。在此扫描期间,它执行以下任务:
1、检测丢失的文件。这些是作为另一个模块的依赖项所必需的文件。此问题的错误信息是“无法在指定的路径中找到动态链接库BAR.DLL ...”。
2、检测无效文件。这包括不符合Win32或Win64的文件以及损坏的文件。此问题的错误信息是“应用程序或DLL BAR.EXE不是有效的Windows映像”。
3、检测导入/导出不匹配。验证模块导入的所有函数是否从依赖模块导出。所有无法解析的导入函数都被标记有错误。此问题的错误信息是“无法定位程序入口点FOO于动态链接库BAR.DLL中”。
4、检测循环依赖性错误。这是一个非常罕见的错误,但可能会发生。
5、检测不匹配的CPU类型的模块。如果为一个CPU类型构建的模块尝试加载为不同CPU类型构建的模块,则会发生这种情况。
6、通过验证模块校验和,来检查校验和不一致性,以查看在构建模块之后是否已修改任何模块。
7、通过突出显示无法在其首选基址加载的任何模块来检测模块冲突。
8、通过跟踪对模块入口点的调用并查找错误来检测模块初始化失败。
9、Dependency Walker还可以执行应用程序的运行时配置文件,以检测动态加载的模块和模块初始化失败。以上方法也适用于动态加载的情况。
使用Dependency Walker对模块进行故障排除相关推荐
- Dependency Walker PE模块依赖性分析工具
摘要 本文主要讲解利用Dependency Walker为Qt的exe程序添加dll,以使得其可以在客户的机器上运行. Dependency Walker 程序的目录 PE模块依赖性分析 ...
- 查看依赖关系 dependency walker(depends)
简单介绍 Dependency Walker是一个免费的实用工具,它可以扫描任何32位或64位Windows模块(EXE,DLL,OCX,SYS等),并建立所有相关模块的分层树形图.Dependenc ...
- 查找缺失的DLL工具Dependency Walker
最近处理64位软件在32位的编译问题,遇到了一些dll加载不到(32位程序找不到对应的32位dll)导致程序启动不起来的情况,最后借助了工具Dependency Walker把问题找出来了,这里记录一 ...
- Dependency Walker使用说明[转]
在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字--动态链接库.现在就让我们走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧! 初窥门径:Windows的基石 随便打开一个系统目录, ...
- 网络故障排除连载之一:常用排除方法综述
一.对网络管理人员的要求 目前互联网络技术.拓扑和应用的复杂性决定了网络管理人员必须: 1.确保网络稳定运行: 2.掌握故障排除方法: 3.熟悉各种协议可能故障点,迅速定位排除故障. 对协议要求有精深 ...
- Linux服务器网卡驱动安装及故障排除(转)
Linux服务器网卡驱动安装及故障排除(转) 转自:http://www.ccw.com.cn/server/yyjq/htm2005/20050817_15OF4.htm感谢原创作者 曹江华 Lin ...
- 浏览器实验中的故障排除
NewVoiceMedia 全球电信与服务经理Alfred Brooks 遇到了客户联络中心代理报告的严重降级音频的问题,本文将介绍他是如何一步步分析问题并最终确定错误是由Chrome实验中对AEC3 ...
- openshift s2i_对Openshift上的Play Framework 2应用进行故障排除
openshift s2i Openshift故障排除 使用" 自己动手"应用程序类型,您实际上可以有很大的自由度来支持几乎可以在Linux机器上构建和运行的任何框架或服务器. ...
- 对Openshift上的Play Framework 2应用进行故障排除
Openshift故障排除 使用" 自己动手"应用程序类型,您实际上可以有很大的自由度来支持几乎可以在Linux机器上构建和运行的任何框架或服务器. 但是您必须做功课,并做一些 ...
- 使用 Windows Sysinternals 工具进行故障排除
Sysinternals 网站由Mark Russinovich于 1996 年创建,用于托管他的高级系统实用程序和技术信息.无论您是 IT 专业人员还是开发人员,您都可以找到 Sysinternal ...
最新文章
- ASPJPEG缩略图生成函数
- 调试器定位变量的原理
- NameServer的启动
- STM32如何查找hardfault原因
- android 通知垃圾回收,Android中垃圾回收日志信息
- 参数列表和数组的相互转换
- oracle树状排序,Oracle树状结构查询
- 95-170-044-源码-Time-flink时间Processing Time源码分析
- python基础 day1 var、 if、while、for、with as、open用法
- 使用HTML5的语义标签
- oracle 如何更改为归档模式
- 音乐播放小窗口html,jQuery+html5迷你网页音乐播放器代码
- 2018下半年初级程序员考试时间
- 【视线追踪】视线追踪的性能评估框架 及 基础知识
- 【PostgresSQL】对汉字按拼音排序
- 大学学python要买电脑吗_大学生需要买电脑吗?
- Camunda流程引擎事件(Events)介绍
- APP平台是怎样实现视频加密呢?
- 7、Java基础——从控制台输入:Scanner类的的用法、数据类型转换、字符型的运算、print与println的区别、Java中的转义字符
- c语言扫雷游戏计时功能_做游戏,学编程(C语言) 20 扫雷
热门文章
- vim下替换字符串命令
- GB28181标准文档以及GB35114标准文档免费下载
- 读取excel数据,根据word模板生成word文件。【python】【word vba】两种方法
- 邮箱怎么打开smtp服务器端口号,什么是SMTP协议?SMTP端口号是多少?什么是SMTP服务器?免费smtp服务器?...
- RS-485通信协议(ModBus版)
- fp5139应用电路图_LM358各种应用电路
- InstallShield 2020 基本使用教程
- Android混淆和加固详解
- 【单片机】简单的时钟代码
- DELPHI利WMI获得硬盘参数