Model debugowania platformy

Model debugowania platformy definiuje ogólne interfejsy debugowania, które mogą być implementowane i rozszerzane w konkretnych implementacjach przeznaczonych dla danego języka programowania.

Artefakty

Ten model zawiera klasy, które reprezentują różne artefakty programu w trakcie debugowania. Wszystkie artefakty, oprócz ich własnych interfejsów, implementują również interfejs IDebugElement.  Ten model zawiera definicje następujących artefaktów:

Moduły dodatkowe implementujące debugery dla konkretnego języka zazwyczaj rozszerzają te interfejsy w celu uwzględnienia zachowań charakterystycznych dla danego języka. Wszystkie elementy debugowania mogą zwracać identyfikator modułu dodatkowego, z którego pochodzą. Jest to ważne przy rejestrowaniu innych klas powiązanych z modelem debugowania, takich jak klasy interfejsu użytkownika.

Akcje

Ten model zawiera również interfejsy, które definiują zestaw akcji debugowania stanowiących najczęstsze zachowania artefaktów debugowania. Te interfejsy są implementowane przez elementy debugowania w zależności od potrzeb. Zawierają następujące akcje:

Przyglądając się definicjom elementów debugowania platformy, można zauważyć, że różne elementy implementują różne akcje debugowania. Standardowe interfejsy tych elementów i ich zachowania pozwalają udostępnić na platformie abstrakcyjne implementacje klas narzędziowych i obsługę interfejsów użytkownika, które mogą być rozszerzane w celu utworzenia konkretnych implementacji debugerów.

Zdarzenia

Zdarzenia debugowania (DebugEvent) są używane do opisywania zdarzeń, które mają miejsce w trakcie debugowania programu. Zdarzenia debugowania zawierają elementy debugowania powiązane ze zdarzeniem. Każdy rodzaj elementu debugowania zawiera specjalny zestaw zdarzeń, który jest obsługiwany zgodnie z opisem w klasie DebugEvent.Implementacje debugera mogą dodawać zdarzenia debugowania charakterystyczne dla aplikacji, używając obiektu DebugEvent.MODEL_SPECIFIC jako typu zdarzenia. W tym przypadku używa się pola danych klienta w celu dodania informacji o zdarzeniu charakterystycznych dla modelu.

Klasy interfejsu użytkownika debugera zazwyczaj nasłuchują w oczekiwaniu na specjalne zdarzenia dotyczące elementów, aby wyświetlić informację o zmianach w elementach. Zdarzenia debugowania są dostarczane w grupach zwanych zestawami zdarzeń debugowania. Zdarzenia występujące w tym samym punkcie wykonywania programu powinny znajdować się w tym samym zestawie. Aby odbierać zdarzenia debugowania, klienci powinni zaimplementować interfejs IDebugEventSetListener i zarejestrować ten obiekt nasłuchiwania w module dodatkowym org.eclipse.debug.core.