启用 RPC 状态信息

可以收集两个不同级别的 RPC 运行时状态信息:服务器 信息和 完整 信息。 必须先启用此信息收集,然后才能使用调试器或 DbgRpc 分析状态信息。

收集服务器状态信息十分轻便。 每次 RPC 调用大约需要 100 台计算机指令,即使在性能测试期间,也不会造成任何可检测的负载。 但是,收集此信息确实使用内存(每个 RPC 服务器大约 4KB),因此不建议在已遇到内存压力的计算机上使用它。 服务器 信息包括有关终结点、线程、连接对象和服务器调用 (SCALL) 对象的数据。 这足以调试大多数 RPC 问题。

收集完整状态信息更重量级。 它包含在 服务器 级别收集的所有信息,另外还包括客户端呼叫(CCALL)对象。 通常不需要完整状态信息。

若要在单个计算机上启用要收集的状态信息,请运行组策略编辑器(Gpedit.msc)。 在“本地计算机策略”下,导航到 计算机配置/管理模板/系统/远程过程调用。 在此节点下,你将看到维护 RPC 故障排除状态信息项。 编辑其属性时,会看到五种可能的状态:


不会保留任何状态信息。 除非计算机遇到内存压力,否则不建议这样做。

服务器
将收集服务器 状态信息。 这是在单个计算机上的推荐设置。

完整
将收集完整状态信息。

Auto1
在 RAM 小于 64 MB 的计算机上,这与 None相同。 在 RAM 至少为 64 MB 的计算机上,这与 服务器相同。

Auto2
在 RAM 小于 128 MB 的 Windows Server 2003 计算机或任何 Windows XP 计算机上,这与 None相同。 在至少具有 128 MB RAM 的 Windows Server 2003 计算机上,这与 Server相同。

这是默认值。

如果要在一组联网计算机上同时设置这些级别,请使用组策略编辑器将计算机策略推出到首选计算机集。 策略引擎将负责将所需设置传播到首选计算机集。 在这种情况下,Auto1Auto2 级别特别有用,因为每台计算机上的操作系统和 RAM 量可能会有所不同。

RPC 安全性

有关 RPC 安全性和用法指南的一般信息,请参阅 编写安全 RPC 客户端或服务器