Skip to main content
Jump to: navigation, search

DSDP/DD/DSF Presentation DsfInContextOfEclipse

< DSDP‎ | DD

DSF Plugins in the "Big Picture"

Dsf plugins.png

DSF Components

The effort in Device Debugging which we have been collectively calling "DSF" is actually several components:

org.eclipse.dd.dsf and org.eclipse.dd.dsf.ui

These are the the only plugins that actually constitute the "Framework" part in Debugger Services Framework (DSF).

  • Concurrency utililities
  • Service APIs and utilities
  • Data Model APIs and utilities - Interfaces for exposing service data independently of UI presentation.
  • View Model APIs and utilities - Interfaces for representing service data using flexible-hierarchy viewers.

org.eclipse.dd.dsf.debug and org.eclipse.dd.dsf.debug.ui

These plugins contain debugger service interfaces and components to populate debugger views using data retrieved from the debugger services. The interfaces and the UI code are NOT back end specific.

  • Debugger Service APIs
  • UI code to populate debugger views with debugger service data.

org.eclipse.dd.dsf.mi and org.eclipse.dd.dsf.mi.ui

These plugins contain debugger service API implementation for a back end using the standard GDB/MI protocol. The assumption we are making with these plugins is that almost every debugger using the GDB/MI protocol has some extensions and limitation that require customizations, but they all share a vast amount of common functionality. These plugins do not define a connection to any specific debugger, they are meant to be extended for that purpose.

Theoretically, the MI implementation should not provide any additional functionality than what is defined in the standard debugger service interfaces. Therefore the UI components implemented in the org.eclipse.dd.dsf.debug.ui should be sufficient to present MI debugger data, and the org.eclipse.dd.dsf.mi.ui should be mostly empty or eliminated all together.

  • Implementations of the following services using the standard GDB/MI protocol:
    • IExpressions
    • IMemory
    • IRegisters
    • IRunControl
    • IStack
    • IDisassembly
    • IModules (optional)
    • ISourceLookup (optional)
    • ISymbols (optional)
    • IBreakpoints (optional)

org.eclipse.dd.dsf.gdb and org.eclipse.dd.dsf.gdb.ui

These plugins contain the service implementation extensions, as well as launch definitions, and other components need to connect to a local GDB debugger. Exact supported versions of GDB and platforms are yet to be determined.

  • Launch configuration and UI for connection to a GDB debugger.
  • CLI support
  • GDB "inferior" process Standard I/O redirection to the Eclipse console

Back to the top