Presentation is loading. Please wait.

Presentation is loading. Please wait.

Flexible hierarchy design proposal. Flexible hierarchy design  Goals  Allow debug plugins to define their own debug element hierarchy and behaviour.

Similar presentations


Presentation on theme: "Flexible hierarchy design proposal. Flexible hierarchy design  Goals  Allow debug plugins to define their own debug element hierarchy and behaviour."— Presentation transcript:

1 Flexible hierarchy design proposal

2 Flexible hierarchy design  Goals  Allow debug plugins to define their own debug element hierarchy and behaviour  Debug views become generic and can be customized

3 Flexible hierarchy details  All debug objects implement IDebugElement  Implements boolean hasChildren(ViewContext)  Implements IDebugElement[] getChildren(ViewContext)  Implements IDebugElement getParent(ViewContext)  Debug element returns children based on view context  Debug objects optionally implement IStep, ITerminate etc.  Allows debug core to supply consistent actions  Custom actions can be added similar to today  When a debug session starts it registers its “root” IDebugElement with the debug core  Hierarchy is retrieved by getting the children of a debug element.  Debug core makes no assumptions on hierarchy

4 Flexible hierarchy example MyProcess implements IDebugElement, ITerminate MyThread implements IDebugElement, IStep, ITerminate, IResume MyStackFrame implements IDebugElement

5 Generic debug view design  All views including the current Debug View become an instance of a generic debug view  Core supplies base views for consistency  Debug view  Variables view  Registers view  Etc.  Debug providers can define their own views based on this generic view or override existing core views

6 Debug core “Debug View” Default View updaters  On selection  On debug event Debug view Debug session  Core debug view listens on selection events from list of debug sessions  Gets immediate children from selected debug session passing in “DebugView” as view context  Selected debug session sends Debug event (of selection type) to indicate which debug element to select.  Debug view gets parent of selected debug element to fill in hierarchy List of registered debug sessions Selected debug session selected debug element

7 Debug core “Variable View” Default View updaters  On selection  On debug event Variable view  Core “Variable View” listens on selection events from “Debug View”  Gets immediate children from selected debug element passing in “VariableView” as view context  Debug element returns children if applicable to context or an empty list  Debug events used to update variables

8 Customized View Default View updaters  On selection  On debug event My view  In plugin.xml define the following:  View id  View updaters  Control used to display content of view  If the view ID specifies a core view then this would override the core view’s default behaviour

9 End of slides


Download ppt "Flexible hierarchy design proposal. Flexible hierarchy design  Goals  Allow debug plugins to define their own debug element hierarchy and behaviour."

Similar presentations


Ads by Google