Windows Vista 调试与同步特性深度解析
1. 进程间通信变化
Windows Vista 在进程间通信方面的改变主要局限于单个物理系统内部。在异构网络中运行时,其网络可观察行为与之前的操作系统相似,基于网络流量解析的技术仍然适用。不过,同一物理系统内各组件间的通信模型发生了变化,轻量级过程调用(LPC)协议被新的高级轻量级过程调用(ALPC)协议所取代,而 ALPC 协议成为了其他协议的基础。
基于 ALPC 构建的所有协议都进行了更改,以利用新的通信范式。分布式组件对象模型(DCOM)和远程过程调用(RPC)在可靠性和可管理性方面也得到了增强。
为了提高 RPC 的调试能力,开发团队引入了两个跟踪通道:
-Microsoft - Windows - Rpcss - EndpointMapper/Debug 通道:RPC 基础设施会记录每个向端点映射器注册或注销的接口。
-Microsoft - Windows - RPC/EEInfo 通道:收集 RPC 基础设施产生的错误,具体信息可参考“RPC 扩展错误信息”部分。
作为管理改进的一部分,DCOM 有一个跟踪通道 Microsoft - Windows - COM/Analytic,可捕获基础设施生成的事件。但在撰写本文时,关于如何启用此通道以及如何解释该日志中生成的事件的信息尚未提供。
2. 资源泄漏跟踪
在资源泄漏跟踪方面,主要讨论了两种类型的资源泄漏:句柄和内存。从调试角度看,句柄在 Windows Vista 中的行为与之前相同,例如 !h