定制调试诊断工具和实用程序(7)
http://tech.ddvip.com 2006年07月20日 社区交流
本文详细介绍定制调试诊断工具和实用程序(7)
本文假设你熟悉 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,这个工具还可以显示内核跟踪信息。
责编:豆豆技术应用
正在加载评论...
- VC/VC++按钮设计专题
- VC/VC++ 菜单专题
- VC/VC++ 工具条专题
- VC/VC++ 对话框教程
- VC/VC++ 报表教程
- VC/VC++ 控件
- VC/VC++ GDI
- Visual Studio 2008
- VC/VC++ MFC教程
- VC/VC++ QQ
- VC/VC++ Socket编程
- VC/VC++ 钩子编程
- TangramMini组件应用教程
- VC/VC++ 窗体
- VC/VC++ ADO 教程
- Windows CE 教程
- VC/VC++ DLL(动态链接库)编程
- VC/VC++ PDFlib
- VC与MATLAB编程
- VC/VC++ DirectShow 教程
- VC++入门视频教程
- VC/VC++ COM组件设计与应用
- VC/VC++ ATL
- VC/VC++ WTL
- VC/VC++ 定制调试诊断工具和程序
- VC/VC++ 进程
- VC/VC++ Win32
- VC/VC++ WMI
- VC/VC++ 消息
- 更多VC/VC++专题……