O gabarito de depuração da plataforma define classes de depuração genéricas que destinam-se a ser estendidas em implementações concretas, específicas da linguagem.
O gabarito inclui classes que representam artifacts diferentes em um programa sob depuração. Todos os artifacts implementam IDebugElement, além de suas próprias interfaces. O gabarito inclui definições para os seguintes artifacts:
Os plug-ins que implementam depuradores específicos da linguagem normalmente estendem essas interfaces para que incluam comportamento específico da linguagem. Todos os elementos de depuração podem retornar o id do plug-in que os originou. Isto é importante para registrar outras classes que estão associadas a um gabarito de depuração, tal como as classes da UI.
O gabarito também inclui interfaces que definem um conjunto de ações de depuração que têm comportamentos comuns entre os artifacts de depuração. Estas interfaces são implementadas por elementos de depuração, onde apropriado. Elas incluem as seguintes ações:
Se você examinar as definições dos elementos de depuração da plataforma, verá que elementos diferentes implementam ações de depuração diferentes. As interfaces padrão dos elementos e seus comportamentos permitem que a plataforma forneça implementações abstratas de classes de utilitários e suporte à UI que pode ser estendido para implementações concretas de depuradores.
Os eventos de depuração (DebugEvent) são utilizados para descrever eventos que ocorrem durante a depuração de um programa. 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 suporta, conforme documentado em DebugEvent.
Normalmente, as classes da UI do depurador atendem 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 chamados 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 ouvinte com o plug-in org.eclipse.debug.core para receber eventos de depuração.