用PurifyPlus分析时如何找到应用程序里的钩子动态连接库
2011-04-21 17:15
239 查看
疑问
在使用 IBM Rational
PurifyPlus时,如何找到应用程序里的钩子动态连接库的信息?
原因
一
般来说,您可能对调用SetWindowsHook的代码是没有兴趣的,也没有这段代码的源代码和调试信息。多数情况下,调用
SetWindowsHook的应用和您正在测试的程序完全没有关系。基于以上原因,您应该使用参数PurifyExcludeMust (或
QuantifyExcludeMust 或
CoverageExcludeMust)来排除这些模块。问题是如何找到那个调用SetWindowsHook的模块呢?
答案
这个文件适用于IBM Rational
Purify, Quantify 和
PureCoverage。Purify在这里代表全部三个产品。钩子动态连接库是这样一些模块,它们使用SetWindowsHook接口调用来与其它应用程序通讯。
可以采用下面的步骤查找那个调用SetWindowsHook的模块。
1,检查cache目录(缺省安装目录C:/Program
Files/Rational/PurifyPlus/cache),查找文件名中有hook或hk的模块。这些模块通常会使用SetWindowsHook接口。
2,检查cache目录,查找那些不是来自system32和应用程序工作目录的插桩过的模块。通常那些来自非相关目录的模块会使用
SetWindowsHook接口。来自非相关目录的一个例子是"C:/Program Files/MS
Hardware/Mouse",在该目录下保存了msh_zwf.dll模块。cache目录中插桩后文件的文件名可以揭示原始文件所在的目录。
注意:
不要通过检查Purify模块列表(View ->
Properties)的方法查找钩子动态连接库,这是由于该列表没有包含全部的应用程序使用的模块;动态加载的模块不在该列表中显示。
在使用 IBM Rational
PurifyPlus时,如何找到应用程序里的钩子动态连接库的信息?
原因
一
般来说,您可能对调用SetWindowsHook的代码是没有兴趣的,也没有这段代码的源代码和调试信息。多数情况下,调用
SetWindowsHook的应用和您正在测试的程序完全没有关系。基于以上原因,您应该使用参数PurifyExcludeMust (或
QuantifyExcludeMust 或
CoverageExcludeMust)来排除这些模块。问题是如何找到那个调用SetWindowsHook的模块呢?
答案
这个文件适用于IBM Rational
Purify, Quantify 和
PureCoverage。Purify在这里代表全部三个产品。钩子动态连接库是这样一些模块,它们使用SetWindowsHook接口调用来与其它应用程序通讯。
可以采用下面的步骤查找那个调用SetWindowsHook的模块。
1,检查cache目录(缺省安装目录C:/Program
Files/Rational/PurifyPlus/cache),查找文件名中有hook或hk的模块。这些模块通常会使用SetWindowsHook接口。
2,检查cache目录,查找那些不是来自system32和应用程序工作目录的插桩过的模块。通常那些来自非相关目录的模块会使用
SetWindowsHook接口。来自非相关目录的一个例子是"C:/Program Files/MS
Hardware/Mouse",在该目录下保存了msh_zwf.dll模块。cache目录中插桩后文件的文件名可以揭示原始文件所在的目录。
注意:
不要通过检查Purify模块列表(View ->
Properties)的方法查找钩子动态连接库,这是由于该列表没有包含全部的应用程序使用的模块;动态加载的模块不在该列表中显示。
相关文章推荐
- 用串口连接GSM手机发送和接收短消息,在应用程序中如何编程实现?
- Android应用程序与SurfaceFlinger服务的连接过程分析
- 也谈在动态连接库中如何使用STL库
- 应用程序如何找到DLL文件?
- linux动态链接共享库(如何解决应用程序跑不起来not found等问题)
- 如何分析apache服务器变慢的原因,并找到解决办法?
- 调试时出现:“没有找到 MSVCR80D.dll,因此这个程序未能启动,重新安装应用程序,可能会修复此问题”错误提示,如何解决?
- 详解SpringMVC请求的时候是如何找到正确的Controller[附带源码分析]
- 用串口连接GSM手机发送和接收短消息,在应用程序中如何编程实现?
- 如何设置对VB数据库连接的动态路径
- Android应用程序与SurfaceFlinger服务的连接过程分析
- windows下如何分析应用程序崩溃
- asp.net mvc源码分析-路由篇 如何找到 IHttpHandler
- C# WINFORM 应用程序动态读写xml config文件,获取数据库连接
- 悬而未决:如何动态统计连接到本机某一端口的同一IP的连接数量
- 【转载】MyBatis Mapper 接口如何通过JDK动态代理来包装SqlSession 源码分析
- 用串口连接GSM手机发送和接收短消息,在应用程序中如何编程实现?
- solr搜索引擎框架搭建,建立多核(多core),与数据库连接,案例分析及动态配置数据库
- 关于linux动态链接共享库(如何解决应用程序跑不起来not found等问题)
- Android应用程序与SurfaceFlinger服务的连接过程分析