赞
踩
最近处理64位软件在32位的编译问题,遇到了一些dll加载不到(32位程序找不到对应的32位dll)导致程序启动不起来的情况,最后借助了工具Dependency Walker把问题找出来了,这里记录一下。
Dependency Walker是一个免费的实用工具,它可以扫描任何32位或64位Windows模块(EXE,DLL,OCX,SYS等),并建立所有相关模块的分层树形图。Dependency Walker对于排除加载和执行模块故障错误非常有用。 Dependency Walker能检测出许多常见应用问题,例如缺少模块,无效的模块,导入/导出不匹配,循环依赖错误,不匹配的机器类型模块和模块初始化失败。所以对于程序员来说,Dependency Walker(以下简称Depends)是一项必备技能。
已经有人写了,参考:CSDN博客
文件加载的时候会比较慢,博主的exe文件分析了几分钟,需要耐心等待一下。
关于一些系统64位dll报错的问题
%windir%\System32 目录下的位数报错等相关信息忽略即可,因为windows使用了文件系统重定向 https://docs.microsoft.com/zh-cn/windows/win32/winprog64/file-system-redirector?redirectedfrom=MSDN ,导致这个软件对这里的文件路径会找错路径,导致这里报错找到了64位的dll。
点这里显示完整路径效果看起来更好一点。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。