远程调试(调试器引擎)

当客户端与目标的通信是间接的(例如,通过网络连接)时,会发生远程调试。 远程调试时,调试器引擎的多个实例可以参与到调试目标中。 但是,正是其中一个实例负责调试会话;此实例称为 主机引擎

有许多可能的配置:可以在主机引擎(智能客户端)或引擎的其他实例(调试客户端)中创建客户端对象:主机引擎可以直接连接到目标(调试服务器);或代理可以直接连接到目标(进程服务器和内核连接服务器)。

多个客户端可以同时连接到主机引擎。 主机引擎可以连接到同一调试会话中的多个目标。 (可选)客户端和主机引擎之间以及主机引擎和每个目标之间可以有一个或多个代理。

智能客户端是直接与主机引擎通信的客户端对象。 通过调用 debugConnect 创建调试客户端;客户端使用 RPC 调用与主机引擎通信,这些调用表示引擎 API 中的方法调用(包括主机引擎对客户端 回调对象的调用)。

调试服务器是一个引擎实例,它直接与目标通信,也是主机引擎。 进程服务器和内核连接服务器直接与目标通信,但不是主机引擎。 主机引擎通过发送低级别内存、处理器和操作系统请求与进程服务器或内核连接服务器通信,服务器发送回结果。

注意 内核调试的典型双计算机设置-其中一台计算机是目标计算机,另一台主计算机则不被视为远程调试,因为引擎(在主计算机上)只有一个实例,并且它直接与目标通信。

其他信息

有关执行远程调试的详细信息,请参阅 远程目标