디버그 모델 프리젠테이션

플랫폼에 디버그 요소의 일반적인 단일한한 모델이 있으므로 디버거 UI 클래스를 구현할 때 시작점을 제공할 수 있습니다. 디버거 UI 지원의 핵심은 디버그 모델 프리젠테이션(IDebugModelPresentation)입니다. 디버그 모델 프리젠테이션에서는 특정 디버그 요소와 연관된 레이블, 이미지 및 레이블 편집기를 제공해야 합니다.

고유한 디버그 모델을 정의하는 플러그인은 대개 모델에 디버그 요소를 표시하는 경우 디버그 모델 프리젠테이션을 제공합니다. org.eclipse.debug.ui.debugModelPresentations 확장점을 사용하여 제공할 수 있습니다. 이 확장점을 사용하면 IDebugModelPresentation 구현을 특정한 디버그 모델의 ID 연관시킬 수 있습니다.

디버그 모델 요소가 원래 디버그 모델 ID를 알고 있다는 점을 주의하십시오. 즉, 디버그 요소를 제공하면 디버그 플랫폼에서 디버그 모델의 ID를 가져온 후 이에 대응하는 모든 디버그 모델 프리젠테이션의 확장 레지스트리를 조회할 수 있음을 의미합니다.

디버그 모델 프리젠테이션을 추가하기 위한 마크업은 다음과 같습니다.

<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도 구현됩니다. 구현자는 소스에서 어노테이션 또는 편집기 위치를 제어할 수 있습니다.