Saturday, February 14, 2009

编程常用工具之 Depends

这是一个古老简单的工具.他不是IDE,也不能帮你弄代码.他的作用是:分析dll.或者准确的说是:Module Dependency Checker.这个工具很有用,尤其在使用第三方dll的时候.
这个工具上表明是Microsoft Corporation,官网是http://www.dependencywalker.com/

它是免费使用,并且被很多工具收录其中,据说Windows安装CD里面就有,不过我还没找到.(话说Windows安装包里面有很多好玩的东东... 当然,那些修改版们基本上把它们都删了...) .. 跟往常一样看截图



它最基本的功能,或者说最常用的功能就是两个:
1.查看这个dll有那些接口(这里指的是函数).
2.看这个dll依赖哪些dll.

这个工具的一些细节功能我就不说了,把上面工具栏依次点一下就都明白了.我说说这个工具使用的时候有几点要注意:

dll依赖功能上,我做了实验,貌似他不能检测出手动LoadLibrary的情况... 至少他没有默认显示... 换句话说,他可能仍然要依赖别的dll,而这里没有显示出来.
大家都知道dll的载入搜索是有顺序的,具体顺序MSDN写的很清楚.depends的搜索顺序和你自己的程序的搜索顺序不一定一样... 换句话说:有可能depends检验能够顺利载入的dll你的程序却找不到. 反之也是. 在说的明朗点: 编程的时候时刻小心dll的位置.

No comments:

Post a Comment