对OCX或DLL进行DEPENDS walker图标说明

本文介绍了解决使用DEPENDSwalker时遇到的DLL依赖错误的过程。通过调整编译选项/SAFESEH:NO和/OPT:NOREF,成功修复了链接时产生的问题。
     以前用DEPENDS walker对OCX或DLL进行依赖遍历,如果出现浅黄色惊叹号,代表缺失这个DLL。这次进行支持工作,发现出现浅红色的图标,选中相应红色图标展开后发现依赖的函数明显不是所依赖库应该提供的。


    出现这种错误很迷茫,不知道发生了什么。问题是,编译都能过,为什么还出现这个问题呢?用VS2010自带的dumpbin程序进行 exports 输出依赖文件,也直接显示import address table就是错误的。


    研究了一天半时间,做了各种尝试,将问题界定在链接的时间出现的问题,需要关注下编译中出现的告警。遂将VS2010在编译过程中出现的日志信息打到详细级别,最终修订了/SAFESEH:NO 和/OPT:NOREF就解决了问题。


   此问题估计是ffmpeg的lib不能够被裁减造成或与使用的其它库冲突造成的。以后有时间再深入分析解决吧,过一关算一关。


   现在已过了什么问题都想穷根问底的年龄,有时间可以投入更有价值的事情。。。。。


   不过, 问题的最终解决,时间的持续投入和已有经验的积累,缺一不可,相辅相成。高效程序员的自我修炼
Dependency Walker 可以自由查看任何32位 64位 Windows 程序模块的内部层次依赖关系与结构关系 (包括exe, dll, ocx, sys, 等文件),并通过树状图示的方式显示。 本资源为32位系统支持,其他位宽程序请查看下面官网下载 http://www.dependencywalker.com/ (以下不做翻译) For each module found, it lists all the functions that are exported by that module, and which of those functions are actually being called by other modules. Another view displays the minimum set of required files, along with detailed information about each file including a full path to the file, base address, version numbers, machine type, debug information, and more. Dependency Walker is also very useful for troubleshooting system errors related to loading and executing modules. Dependency Walker detects many common application problems such as missing modules, invalid modules, import/export mismatches, circular dependency errors, mismatched machine types of modules, and module initialization failures. Dependency Walker runs on Windows 95, 98, Me, NT, 2000, XP, 2003, Vista, 7, and 8. It can process any 32-bit or 64-bit Windows module, including ones designed for Windows CE. It can be run as graphical application or as a console application. Dependency Walker handles all types of module dependencies, including implicit, explicit (dynamic / runtime), forwarded, delay-loaded, and injected. A detailed help is included. Dependency Walker is completely free to use. However, you may not profit from the distribution of it, nor may you bundle it with another product.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值