O modelo de depuração da plataforma define interfaces genéricas de depuração que são planejadas para ser implementadas e estendidas em implementações concretas específicas da linguagem.
O modelo inclui classes que representam artefatos diferentes em um programa em depuração. Todos os artefatos implementam IDebugElement além de suas próprias interfaces. O modelo inclui definições para os seguintes artefatos:
Os plug-ins que implementam depuradores específicos do idioma geralmente estendem essas interfaces para incluir um comportamento específico do idioma. Todos os elementos de depuração podem retornar o ID do plug-in que os originou. Isso é importante para registrar outras classes que estejam associadas a um modelo de depuração, como as classes UI.
O modelo também inclui interfaces que definem um conjunto de ações de depuração que são comportamentos comuns entre os artefatos de depuração. Essas interfaces são implementadas por elementos de depuração, onde apropriado. Elas incluem as seguintes ações:
Se você vir as definições para os elementos de depuração da plataforma, observará que elementos diferentes implementam ações diferentes de depuração. As interfaces padrão dos elementos e seus comportamentos permitem que a plataforma forneça implementações abstratas de classes de utilitário e suporte de UI que podem ser estendidos para implementações concretas de depuradores.
Os eventos de depuração (DebugEvent) são utilizados para descrever eventos que ocorrem enquanto um programa está sendo depurado. Os eventos de depuração incluem o elemento de depuração que está associado ao evento. Cada tipo de elemento de depuração possui um conjunto específico de eventos que ele suporta, conforme documentado em DebugEvent. As implementações do depurador podem incluir eventos de depuração específicos do aplicativo, utilizando uma designação de DebugEvent.MODEL_SPECIFIC como o tipo de evento. Um campo de dados de cliente pode ser utilizado nesse caso para incluir informações específicas do modelo sobre o evento.
As classes UI do depurador normalmente atendem a eventos específicos de elementos para exibir informações sobre as alterações que ocorrem nos elementos. Os eventos de depuração chegam em grupos denominados conjuntos de eventos de depuração. Os eventos que ocorrem no mesmo ponto de execução em um programa chegam no mesmo conjunto. Os clientes devem implementar um IDebugEventSetListener e registrar o atendente com o org.eclipse.debug.core plug-in para receber eventos de depuração.