El modelo de depuración de la plataforma define interfaces genéricas de depuración destinadas a implementarse y ampliarse en las implementaciones concretas específicas del lenguaje.
El modelo incluye clases que representan los distintos artefactos de un programa en proceso de depuración. Todos los artefactos, además de las interfaces propias de ellos, implementan la interfaz IDebugElement. El modelo incluye las definiciones de los siguientes artefactos:
Los conectores que implementan depuradores específicos del lenguaje suelen ampliar estas interfaces para incluir un comportamiento específico de cada lenguaje. Todos los elementos de depuración pueden devolver el ID del conector que los ha originado. Esto cobra importancia a la hora de registrar otras clases asociadas a un modelo de depuración, como las clases de la UI.
El modelo también incluye interfaces que definen un conjunto de acciones de depuración, que representan comportamientos comunes entre los artefactos de depuración. Estas interfaces están implementadas por los elementos de depuración donde sea oportuno. En ellas se incluyen las siguientes acciones:
Si examina las definiciones de los elementos de depuración de la plataforma, verá que los distintos elementos implementan acciones de depuración diferentes. Las interfaces estándar de los elementos y sus comportamientos permiten que la plataforma proporcione implementaciones abstractas de clases de utilidades y soporte de UI, que se pueden ampliar para las implementaciones concretas de los depuradores.
Los eventos de depuración (DebugEvent) permiten describir los eventos que se producen durante el proceso de depuración de un programa. Los eventos de depuración incluyen el elemento de depuración asociado al evento. Cada tipo de elemento de depuración tiene un conjunto específico de eventos soportados por él, tal como se describe en el objeto DebugEvent. Las implementaciones de depurador pueden añadir eventos de depuración específicos de la aplicación utilizando la designación de DebugEvent.MODEL_SPECIFIC como clase de evento. En este caso puede utilizarse un campo de datos de cliente para añadir información específica del modelo acerca del evento.
Generalmente, las clases de UI de depurador están a la escucha de eventos específicos de los elementos a fin de visualizar información relativa a los cambios que se producen en ellos. Los eventos de depuración llegan en grupos denominados conjuntos de eventos de depuración. Los eventos que se producen en el mismo punto de ejecución de un programa llegan en el mismo conjunto. Los clientes deben implementar un IDebugEventSetListener y registrar el escuchador con el conector org.eclipse.debug.core para poder recibir eventos de depuración.