远程调试 (调试器引擎)
当客户端与目标通信是间接的(例如,通过网络连接)时,将发生远程调试。 远程调试时,调试器引擎的多个实例可以参与调试目标。 但是,正是其中一个实例负责调试会话;此实例称为 主机引擎。
有许多可能的配置:可以在主机引擎中创建客户端对象 (智能客户端) ,或 (调试客户端) 的其他引擎实例;主机引擎可以直接连接到目标 (调试服务器) ;或代理可以直接连接到目标 (进程服务器和内核连接服务器) 。
多个客户端可以同时连接到主机引擎。 主机引擎可以连接到同一调试会话中的多个目标。 (可选)客户端和主机引擎之间以及主机引擎与每个目标之间可以有一个或多个代理。
智能客户端是直接与主机引擎通信的客户端对象。 调试客户端是通过调用 DebugConnect 创建的;客户端使用 RPC 调用与主机引擎通信,这些调用表示引擎 API 中的方法调用 (包括主机引擎对客户端 回调对象) 的调用。
调试服务器是直接与目标通信的引擎实例,也是主机引擎。 进程服务器和内核连接服务器直接与目标通信,但不是主机引擎。 主机引擎通过发送低级别内存、处理器和操作系统请求来与进程服务器或内核连接服务器通信,服务器发送回结果。
注意 用于内核调试的典型双计算机设置(其中一台计算机是目标计算机,另一台是主计算机)不被视为远程调试,因为主计算机上只有一个引擎 (实例) 并且直接与目标通信。
其他信息
有关执行远程调试的详细信息,请参阅 远程目标。