WEB开发网
开发学院软件开发VC 定制调试诊断工具和实用程序(6) 阅读

定制调试诊断工具和实用程序(6)

 2006-07-20 11:42:24 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 本文假设你熟悉 Win32,DLL定制调试诊断工具和实用程序——摆脱DLL"地狱"(DLL Hell)的困扰(一) 定制调试诊断工具和实用程序——摆脱DLL"地狱"(DLL Hell)的困扰(二)

本文示例源代码或素材下载

本文假设你熟悉 Win32,DLL

  • 定制调试诊断工具和实用程序——摆脱DLL"地狱"(DLL Hell)的困扰(一)
  • 定制调试诊断工具和实用程序——摆脱DLL"地狱"(DLL Hell)的困扰(二)
  • 定制调试诊断工具和实用程序——摆脱DLL"地狱"(DLL Hell)的困扰(三)
  • 定制调试诊断工具和实用程序——摆脱DLL"地狱"(DLL Hell)的困扰(四)
  • 定制调试诊断工具和实用程序——摆脱DLL"地狱"(DLL Hell)的困扰(五)

摘要

本文前面讨论了用几种不同的方法来获取进程及其相关 DLLs 的信息,例如通过 PSAPI、NTDLL 以及TOOLHELP32 库提供的 APIs,在这一部分,作者给出了几种获得系统级信息的非常规方法,你可以轻松将它们集成到自己的工具包中。本文范例包含三个实用工具:

  • LoadLibrarySpy,监视并扫描应用程序加载了哪些 DLLs;
  • WindowDump,获取任何窗口的的内容以及窗口的详细描述信息;
  • FileUsage,重定向控制台程序,揭示哪个进程正在使用打开的文件;

本文前面的部分讨论了如何用有着良好文档描述的 API 函数来获取运行进程列表以及它们加载的 DLLs 信息。接下来我将用不同的方法,或者说是非正式的方法来获取系统级信息,首先,我将深入分析 Win32 调试 API 以及 Windows 加载器(Windows Loader)提供的痕迹来揭示给定进程是如何加载 DLL 的。我将借助我的 CApplicationDebugger 可重用类,用几种不同的方法来分析 DLL 重定位的原因。

接着,我将生成两个工具。LoadLibrarySpy 扫描 DLL 重定位。WindowDump 窃取任何窗口的内容和详细描述信息。最后,在讨论进程环境块(PEB)内部结构之前,我会向你展示如何操纵控制台程序产生的输出以便摸索寻找一些未公开的信息。

1 2 3 4 5 6  下一页

Tags:定制 调试 诊断

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接