与解决 RPC 问题相关的主要困难是将 RPC 错误代码映射到基础问题。 配置错误或网络问题可能会导致一个或多个工作站收到RPC_S_* 错误,但该工作站只能显示错误、对其进行描述或将其保存到某些日志文件。 无论使用哪种方法,对问题进行故障排除的人都被剥夺了基本信息:
- 发生错误的位置。 它可能发生在本地计算机上、由本地计算机调用的远程计算机上或由另一台远程计算机调用的远程计算机上。
- 导致问题的原始错误代码。 为了符合 OSF 标准,MS RPC 会将错误代码映射到 RPC_S_* 代码。 但是,RPC_S_* 代码过于通用,并且几乎没有有用的故障排除信息。
- 与问题发生相关的任何上下文信息。 对于非 RPC 错误,调试器可以停止进程并检查发生错误的上下文。 RPC 错误通常由远程进程或计算机生成,后者在返回错误后继续处理,并覆盖与错误相关的任何上下文。