Da es in der Plattform ein generisches Universalmodell für Debugelemente gibt, kann ein Ausgangspunkt für die Implementierung von Benutzerschnittstellenklassen für einen Debugger bereitgestellt werden. Das Herzstück der Benutzerschnittstellenunterstützung für Debugger ist die Debugmodelldarstellung (IDebugModelPresentation). Die Darstellung eines Debug-Modells ist für die Bereitstellung von Etiketten, Abbildungen und Editoren, die einem spezifischen Debug-Modell zugeordnet sind, zuständig.
Plug-ins, die ein eigenes Debugmodell definieren, bieten normalerweise eine Debugmodelldarstellung, um Debugelemente des Modells darzustellen. Dies erfolgt unter Verwendung des Erweiterungspunkts org.eclipse.debug.ui.debugModelPresentations. Mit diesem Erweiterungspunkt kann einer Implementierung von IDebugModelPresentation die Kennung eines bestimmten Debugmodells zugeordnet werden.
Zur Erinnerung: Debugmodellelemente kennen die ID des Debugmodells, von dem sie abstammen. Dies bedeutet, dass die Debugplattform für ein beliebiges Debugelement die ID des Debugmodells abrufen und dann die Plug-in-Registrierung nach einer entsprechenden Debugmodelldarstellung durchsuchen kann.
Die Befehle für das Hinzufügen einer Debugmodelldarstellung lauten wie folgt:
<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>
Optional kann detailsViewerConfiguration zusätzlich zur Debugmodelldarstellung angegeben werden. Die Detailanzeigefunktion muss die JFace-Klasse SourceViewerConfiguration erweitern. Die Bedeutung von "Details" wird durch das Debugmodell interpretiert. Die Details werden durch die Debugmodelldarstellung berechnet und an die Detailanzeigefunktion übergeben. Der Java-Debugger beispielsweise verwendet die Detailanzeigefunktion, um die Unterstützung für Code in der Sicht "Variablen" anzuzeigen, wenn Ausdrücke ausgewertet werden.
Implementierungselemente von IDebugModelPresentation können auch IDebugEditorPresentation implementieren, wenn mehr Kontrolle über den Editor, der den Quellcode für ein Stack-Frame anzeigt, erforderlich ist. Implementierungselemente können die Position des Editors oder die Anmerkungen in der Quelle kontrollieren.