Представление модели отладки

Поскольку платформа предусматривает стандартную базовую модель элементов отладки, ее можно использовать в качестве начальной точки для реализации пользовательского интерфейса отладчика. В основе поддержки пользовательского интерфейса отладчика лежит оформление модели отладки (IDebugModelPresentation). Оформление модели отладки описывает метки, изображения и редакторы, связанные с конкретными элементами отладки.

Модули, определяющие собственные модели отладки, как правило, предоставляют отдельное оформление модели отладки для отображения элементов отладки. Для этого применяется точка расширения org.eclipse.debug.ui.debugModelPresentations. Она позволяет связать реализацию IDebugModelPresentation с идентификатором конкретной модели отладки.

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

Текст на языке описания, позволяющий добавить оформление модели отладки, выглядит следующим образом:

<extension point = "org.eclipse.debug.ui.debugModelPresentations"> 
         <debugModelPresentation
             class = "org.eclipse.jdt.internal.debug.ui.JDIModelPresentation"
             id = "org.eclipse.jdt.debug"
             detailsViewerConfiguration = "org.eclipse.jdt.internal.debug.ui.display.DetailsViewerConfiguration">
          </debugModelPresentation> 
</extension>

Помимо оформления модели отладки можно указать дополнительный атрибут detailsViewerConfiguration. Программа просмотра сведений должна расширять класс JFace SourceViewerConfiguration. Значение термина "сведения" интерпретируется непосредственно моделью отладки. Сведения обрабатываются оформлением модели отладки и передаются соответствующей программе просмотра. Например, отладчик Java применяет программу просмотра сведений в ходе вычисления выражений для отображения помощника по работе с исходным кодом на панели переменных.

Если требуются дополнительные возможности управления редактором, отображающим содержимое кадра стека, помимо IDebugModelPresentation можно также реализовать IDebugEditorPresentation. При этом становится возможным указывать отображаемый участок кадра и комментарии.