Модель отладки платформы

Модель отладки платформы задает базовые интерфейсы отладки, которые можно реализовать или расширить в конкретных реализациях на различных языках.

Артефакты

В состав модели входят классы, описывающие различные артефакты отлаживаемой программы. Помимо собственных интерфейсов все артефакты применяют интерфейс IDebugElement. Ниже перечислены артефакты, определенные в модели:

Модули, реализующие различные отладчики, как правило расширяют эти интерфейсы для обеспечения поддержки соответствующих языков. Все элементы отладки могут возвратить идентификатор исходного модуля. Это необходимо для регистрации других классов, связанных с моделью отладки. Например, классов пользовательского интерфейса.

Действия

Кроме того, в модели предусмотрены интерфейсы, определяющие набор общих действий над артефактами отладки. Эти интерфейсы реализуются элементами отладки по мере необходимости. Ниже перечислены доступные действия:

Если обратить внимание на определения элементов отладки модели, можно заметить, что различные интерфейсы реализуют различные действия отладки. Стандартные интерфейсы, предусмотренные для элементов и способов их обработки, позволяют платформе предоставить абстрактные реализации служебных классов и поддержку пользовательского интерфейса с возможность расширения для конкретных реализаций отладчиков.

События

События отладки (DebugEvent) применяются для описания событий, происходящих в ходе отладки программы. События отладки включают связанные элементы отладки.   Для каждого элемента отладки указывается набор поддерживаемых событий. События описаны в разделе События отладки. Реализации отладчика могут добавлять события отладки, зависящие от приложения, используя в качестве события значение DebugEvent.MODEL_SPECIFIC. Для добавления информации о событии, зависящей от модели, можно использовать клиентское поле данных.

Сведения об изменениях элементов отображаются в соответствии с событиями, обрабатываемыми классами пользовательского интерфейса отладчика. События отладки поступают в виде групп, называемых наборами событий отладки. События, произошедшие в одной точке выполнения программы, включаются в один и тот же набор. Для получения событий отладки клиенты должны реализовать интерфейс IDebugEventSetListener и зарегистрировать обработчик событий в модуле org.eclipse.debug.core.