Depuración remota (motor del depurador)
La depuración remota se produce cuando la comunicación de un cliente con un destino es indirecta, por ejemplo, a través de una conexión de red. Cuando se realiza la depuración remota, puede participar más de una instancia del motor del depurador en la depuración de un destino. Sin embargo, exactamente una de estas instancias es responsable de la sesión de depuración; esta instancia se denomina motor de host.
Hay muchas configuraciones posibles: el objeto de cliente se puede crear en el motor host (clientes inteligentes) o en una instancia diferente del motor (clientes de depuración); el motor host se puede conectar directamente al destino (servidor de depuración); o bien, un proxy se puede conectar directamente al destino (servidor de procesos y servidor de conexión kernel).
Varios clientes pueden conectarse simultáneamente al motor host. Y el motor de host puede conectarse a varios destinos en la misma sesión de depuración. Opcionalmente, puede haber uno o varios servidores proxy entre los clientes y el motor host y entre el motor host y cada destino.
Los clientes inteligentes son objetos de cliente que se comunican directamente con el motor de host. Se crea un cliente de depuración mediante una llamada a DebugConnect; el cliente se comunica con el motor host mediante llamadas RPC que representan llamadas de método en la API del motor (incluidas las llamadas que realiza el motor host a los objetos de devolución de llamada del cliente).
Un servidor de depuración es una instancia del motor que se comunica directamente con el destino y también es el motor host. Los servidores de procesos y los servidores de conexión kernel se comunican directamente con el destino, pero no son el motor de host. El motor host se comunica con el servidor de procesos o con el servidor de conexión kernel mediante el envío de solicitudes de memoria, procesador y sistema operativo de bajo nivel, y el servidor devuelve los resultados.
Nota Una configuración típica de dos equipos para la depuración de kernel, donde un equipo es el destino y el otro equipo host, no se considera depuración remota, ya que solo hay una instancia del motor (en el equipo host) y se comunica directamente con el destino.
Información adicional
Para obtener más información sobre cómo realizar la depuración remota, consulte Destinos remotos.