플랫폼 디버그 모델은 구체적이고 언어 고유의 구현에서 구현되고 확장되는 일반 디버그 인터페이스를 정의합니다.
모델에는 디버그 중인 프로그램의 서로 다른 진단 지원 파일을 나타내는 클래스가 포함되어 있습니다. 모든 진단 지원 파일은 자체 인터페이스 외에 IDebugElement를 구현합니다. 모델에는 다음 진단 지원 파일에 대한 정의가 포함되어 있습니다.
언어 고유의 디버거를 구현하는 플러그인은 대개 이 인터페이스를 확장시켜 언어 고유의 작동을 포함시킵니다. 모든 디버그 요소는 자신을 발생시킨 플러그인의 ID를 리턴할 수 있습니다. 이는 UI 클래스 같이 디버그 모델에 연관된 다른 클래스를 등록하기 위해 중요한 사항입니다.
모델에는 디버그 진단 지원 파일 간에 공통되는 작동인 디버그 조치 세트를 정의하는 인터페이스도 포함되어 있습니다. 필요할 경우 디버그 요소에서 이 인터페이스를 구현합니다. 이 인터페이스에는 다음 조치가 포함됩니다.
플랫폼 디버그 요소의 정의를 조회할 경우 다른 요소에서 다른 디버그 조치를 구현한다는 것을 확인할 수 있습니다. 요소 및 그 작동에 대한 표준 인터페이스를 사용하면 플랫폼에서 디버거의 구체적인 구현을 위해 확장할 수 있는 유틸리티 클래스 및 UI 지원의 추상 구현을 제공할 수 있습니다.
디버그 이벤트(DebugEvent)는 프로그램이 디버깅되는 중에 발생하는 이벤트를 설명하는 데 사용됩니다. 디버그 이벤트는 이벤트와 연관된 디버그 요소를 포함합니다. 디버그 요소의 각 종류는 DebugEvent에 문서화되는 대로 지원하는 특정 이벤트 세트를 갖습니다. 디버거 구현은 DebugEvent.MODEL_SPECIFIC의 지정을 이벤트 종류로 사용하는 응용프로그램 특정 디버그 이벤트를 추가할 수 있습니다. 이 경우에 클라이언트 데이터 필드를 사용하여 이벤트에 대한 모델 특정 정보를 추가할 수 있습니다.
대개 디버거 UI 클래스는 요소에서 발생한 변경사항에 대한 정보를 표시하기 위해 요소의 특정 이벤트를 청취합니다. 디버그 이벤트는 디버그 이벤트 세트라고 하는 그룹에 도달합니다. 프로그램의 동일한 실행 지점에서 발생한 이벤트도 같은 세트에 도달합니다. 클라이언트에서 IDebugEventSetListener를 구현하고 리스너를 org.eclipse.debug.core 플러그인에 등록하여 디버그 이벤트를 수신해야 합니다.