Modelo de depuração de plataformas

O modelo de depuração de plataformas define interfaces de depuração genéricas que se destinam a ser implementadas e estendidas em implementações concretas e específicas de idioma.

Artefactos

O modelo inclui classes que representam diferentes artefactos num programa sob depuração.  Todos os artefactos implementamIDebugElement além das respectivas interfaces próprias.  O modelo inclui definições para os seguintes artefactos:

Os plug-ins que implementam depuradores específicos de idioma geralmente estendem estas interfaces para incluir comportamentos específicos de idioma.  Todos os elementos de depuração podem devolver o ID do plug-in que os originou.  Tal é importante para registar outras classes que estejam associadas a um modelo de depuração como, por exemplo, classes UI.

Acções

O modelo também inclui interfaces que definem um conjunto de acções de depuração que sejam comportamentos comuns aos artefactos de depuração.  Estas interfaces são implementadas por elementos de depuração onde for apropriado.  Incluem as seguintes acções:

Se observar as definições dos elementos de depuração da plataforma, verá que diferentes elementos implementam diferentes acções de depuração.  As interfaces padrão para os elementos e respectivos comportamentos permitem à plataforma facultar implementações abstractas de classes utilitárias e suporte UI que podem ser estendidas para implementações concretas de depuradores.

Eventos

Os eventos de depuração (DebugEvent) são utilizados para descrever eventos que ocorram durante a depuração de um programa.   Os eventos de depuração incluem o elemento de depuração que estiver associado ao evento.   Cada tipo de elemento de depuração tem um conjunto de eventos específico que suporta, tal como está documentado em DebugEvent. As implementações de depurador podem adicionar eventos de depuração específicos à aplicação mediante uma designação DebugEvent.MODEL_SPECIFIC como natureza do evento. Pode ser usado neste caso um campo de dados de cliente para adicionar informações específicas ao modelo acerca do evento.

As classes UI de depurador geralmente escutam eventos específicos para elementos de modo a apresentar informações sobre alterações ocorridas nos elementos.  Os eventos de depuração chegam em grupos chamados conjuntos de eventos de depuração. Os eventos que ocorram no mesmo ponto de execução num programa chegam no mesmo conjunto.   Os clientes devem implementar um IDebugEventSetListener e registar o ouvinte junto do plug-in org.eclipse.debug.core para poder receber eventos de depuração.