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

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

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

本文假设你熟悉 Win32,DLL

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

Windows Loader 知道一切

除了 Win32 调试 API 之外,Windows 还提供另外一种很好的关于 DLL 加载地址冲突的信息源。那就是在注册表中设置的一些全局标志(或 GFlags):

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

从而改变 Windows 处理应用程序的方式。GFlags.exe (see Figure 8) 是一个微软调试工具之一,用它可以轻松更改上述的注册表项值。

Figure 8 全局标志

在 1999 九月的 “Under the Hood”专栏中, Matt Pietrek 解释了如何将 FLG_SHOW_LDR_SNAPS 与上述 GFlags 结合使用让 Windows Loader 产生一些有用的跟踪信息。如果你想捕获这些跟踪信息,你有两个选择:第一个是调试应用程序,然后象所做的 CApplicationDebugger 那样解释 OUTPUT_DEBUG_STRING_EVENT。另外一个方法比较容易:使用全局捕获工具。如果你想要生成自己的跟踪信息,使用 Sysinternals 或《Inside Windows 2000, Third Edition》CD 中的 DbgView,这个工具还可以显示内核跟踪信息。

1 2 3 4  下一页

Tags:定制 调试 诊断

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