Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Casi toda la interacción con el motor del depurador es a través de objetos de cliente, a menudo denominados simplemente clientes. Cada cliente proporciona una implementación de las interfaces de motor de nivel superior. Cada interfaz proporciona un conjunto diferente de métodos, que se pueden usar para interactuar con el motor de ejecución y, a través del motor, los objetivos. Una instancia del motor puede tener muchos clientes, cada uno con su propio estado.
Clientes principales
Un cliente principal es un cliente que se ha unido a la sesión de depuración actual. Inicialmente, cuando se crea un nuevo objeto de cliente, no es un cliente principal. Un cliente se convierte en un cliente principal cuando se utiliza para adquirir un objetivo (por ejemplo, mediante una llamada a CreateProcess2) o se conecta con la sesión de depuración utilizando ConnectSession. El comando del depurador .clients muestra solo los clientes principales.
Objetos de devolución de llamada
Los objetos de devolución de llamada se pueden registrar en cada cliente. Hay tres tipos de objetos de devolución de llamada:
Objetos de callback de entrada (o callbacks de entrada): el motor llama a los callbacks de entrada para solicitar la entrada. Por ejemplo, un depurador con una ventana de consola podría registrar una devolución de llamada de entrada para proporcionar al motor la entrada del usuario o un depurador podría registrar una devolución de llamada de entrada para proporcionar al motor la entrada de un archivo.
Objetos de callback de salida (o callbacks de salida): el motor llama a los callbacks de salida para mostrar la salida. Por ejemplo, un depurador con una ventana de consola podría registrar una devolución de llamada de salida para presentar la salida del depurador al usuario, o un depurador podría registrar una devolución de llamada de salida para enviar la salida a un archivo de registro.
Objetos callback de eventos (o callbacks de eventos): el motor llama a callbacks de eventos cada vez que se produce un evento en un objetivo (o hay un cambio en el estado del motor). Por ejemplo, una biblioteca de extensión para el depurador podría registrar un callback de eventos para supervisar ciertos eventos o realizar acciones automáticas cuando se produce un evento específico.
Depuración remota
Los objetos cliente facilitan la comunicación con instancias remotas del motor host. La función DebugConnect crea un objeto de cliente que está conectado a una instancia del motor remoto; Los métodos llamados en este cliente se ejecutan mediante el motor remoto y los objetos de devolución de llamada registrados localmente con el cliente se llamarán cuando el motor remoto realice llamadas de devolución de llamada.
información adicional
Para obtener más información sobre cómo crear y usar objetos de cliente, vea Uso de objetos de devolución de llamada. Para obtener más información sobre el registro de objetos de devolución de llamada, consulte la sección Uso de objetos de devolución de llamada.