Dependency Walker +Everything查找DLL文件加载不上的问题

软件开发过程中,经常会出现DLL文件模块加载不上的情况,这时候通常采用Dependency Walker软件查找问题,直接打开Dependency Walker安装包运行depends.exe即可。

在Dependency Walker界面上主要分为三块:左侧树状栏、右侧函数输入输出分栏、底侧模块栏。

左侧树状栏:该DLL依赖了那些DLL

右侧函数输入输出分栏:该DLL调用函数列表

底侧模块栏:依赖的DLL具体说明情况

DLL文件模块加载不上最常见的情况就是依赖的DLL文件不存在,这时候错误提示为:系统找不到指定的文件。这时候使用Everything这个软件可以快速定位电脑里面的指定文件,帮助解决问题。

原文地址:https://www.cnblogs.com/yx155029/p/12547657.html

时间: 2024-08-15 05:20:20

Dependency Walker +Everything查找DLL文件加载不上的问题的相关文章

C#开发奇技淫巧二:根据dll文件加载C++或者Delphi插件

原文:C#开发奇技淫巧二:根据dll文件加载C++或者Delphi插件 这两天忙着把框架改为支持加载C++和Delphi的插件,来不及更新blog了.      原来的写的框架只支持c#插件,这个好做,直接用c#的反射功能便可.但是公司不是所有人都搞C#,也不是所有的程序C#都能很好的完成,又或者其他公司提供的API不是C#的,这个时候,就需要这个框架能够支持多种语言了.      废话不多说,进入正题.     上网一搜,C#加载非托管的dll,无非就是使用 DllImportAttribut

CS0009:未能打开元数据文件System.ComponentModel.DataAnnotations.dll 试图加载格式不正确的程序。

问题描述: CS0009: 未能打开元数据文件“c:\Windows\Microsoft.NET\assembly\GAC_MSIL \System.ComponentModel.DataAnnotations\v4.0_4.0.0.0__31bf3856ad364e35 \System.ComponentModel.DataAnnotations.dll”--“试图加载格式不正确的程序. 网上搜索出来的资源比较少,修复VS也没有用,特地写这小文章. 试了网上方法: 把"C:\Windows\M

固定dll的加载基址的方法

调试dll的时候会有一件事情比较烦人,就是dll加载的地址不会很固定(默认设置下编译的dll基址总是0x10000000,多个同基址的dll加载时,后面的肯定会被重定位),这给前后多次调试时对比分析结果造成了一些麻烦,要解决这个问题,有两种办法.方法一:直接修改dll文件PE头中的ImageBase为一个不大可能被占用的地址.但是这个方法有一个小小的局限,就是有些文件是存在校验的,改了文件之后会出一些问题,比如拒绝加载之类的. 这种情况就要用第二种方法了. 方法二:动态修改dll的加载基址 当然

getClass()和getClassLoader()区别 以及ClassLoader详解及用途(文件加载,类加载)

获得ClassLoader的几种方法可以通过如下3种方法得到ClassLoader this.getClass().getClassLoader(); // 使用当前类的ClassLoader Thread.currentThread().getContextClassLoader(); // 使用当前线程的ClassLoader ClassLoader.getSystemClassLoader(); // 使用系统ClassLoader,即系统的入口点所使用的ClassLoader.(注意,s

extjs 文件加载、解析流程

extjs版本:4.2.1 在html中添加应用的启动脚本,如下: <script src="app.js"></script> 2. 用户访问html的时候,会去加载app.js文件,app中定义了应用的名字,根路径等信息,并且调用Ext.application()方法,如下: Ext.application({     name: 'Seed',     extend: 'Seed.Application',     autoCreateViewport: 

IE报错:模块&quot;scrrun.dll&quot;已加载,但对DllRegisterServer的调用失败,错误代码为0x80004005

在我的win10系统上打开某内部网页登录的时候弹出'模块"scrrun.dll"已加载,但对DllRegisterServer的调用失败,错误代码为0x80004005'报错信息,搞了好久都没有 搞好,最后百度找到注册文件“clock.zip”运行其中的批处理文件后成功登陆. 注册文件链接:http://files.cnblogs.com/files/xxlu/clock.zip 注意:在注册的时候要将批处理文件run.bat中clock.ocx组件的地址改为本地绝对地址,博主提供的r

php基础知识(3)(文件加载include)

文件加载 综述: 有4个文件加载的语法形式(注意,不是函数): include,  include_once,  require, require_once; 他们的本质是一样的,都是用于加载/引入/包含/载入一个外部文件到当前php代码中来. 他们只在2个方面有细微区别: 1,如果加载文件失败,则有不同的处理规则:include和require不同 2,如果加载文件重复,则有不同的处理规则:XXX和XXX_once不同: 3,他们都是语法结构,而非函数,使用形式可以有两种: 3.1  incl

PHP:文件加载

PHP文件加载综述: 有4个文件加载的语法形式(注意,不是函数):include , include_once , require , require_once; 它们的本质是一样的,都是用于加载(引入/包含/载入)一个外部文件到当前php代码中来. 它们只在2个方面有细微区别: 1:如果加载文件失败,则有不同的处理规则.include 与 require不同 2:如果加载重复,则有不同的处理规则.XXX 与 XXX_once 不同 3:它们都是语法结构,而非函数,使用形式可以有两种: incl

打造DLL内存加载引擎学习笔记

原文:http://www.pediy.com/kssd/index.html -- 病毒技术 -- 病毒知识 -- Anti Virus专题 首先看下我们内存加载引擎的流程. 1. 申请一段大小为dll映射内存后的映像大小的内存空间. 2. 移动各个区段的数据到申请的内存. 2. 修复引入表结构的地址表. 4. 通过重定位结构修复需要重定位的地址. 5. 调用DllMain入口点 流程解析: pe结构中nt header结构当中的ImageSize存放的是我们整个文件映射到内存后的映像大小,这