Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Debug Platform/Planning"

(Debug Platform 3.5 and 3.*)
m
 
(26 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
This page is gathering place of ideas for the future evolution of the Eclipse debug platform (3.*, and e4).
 
This page is gathering place of ideas for the future evolution of the Eclipse debug platform (3.*, and e4).
  
There will be a phone meeting held at 10AM CST (11AM EST, 8AM PST) on Wednesday, July 2, 2008 to gather and dicuss these ideas. Please add your ideas here and join the meeting to discuss:
+
== Debug Platform 3.5 ==
  
* Toll-free dial-in (North America): 1-866-245-5059
+
== M2 ==
* Global toll free: 800-4444-1010
+
* '''Reliability'''
* Conference ID: 1696709
+
**; [http://bugs.eclipse.org/242489 242489] : Create a framework based on the virtual viewer that simulates the common debugger views and validates debug model's content providers. (Pawel Piech)
 +
* '''Platform'''
 +
*; [http://bugs.eclipse.org/212316 212316] : Make it easier to create different breakpoint types from the same editor.
 +
*; [http://bugs.eclipse.org/229219 229219] : Allow command framework handlers easy access to active debug context.
  
== Debug Platform 3.5 and 3.* ==
+
== M3 ==
 +
* '''Workflow'''
 +
** ''Debugging without the debug view or debug perspective''
 +
**; Active debug context switcher : Create a lightweight mechanism for switching and reporting the active debug context (Pawel Piech).
 +
**; Debug toolbar : Add a top-level toolbar for Debug actions (Pawel Piech).
  
* Support process IDs and system signals at the platform level
+
* '''Platform Enhancements'''
** CDT has support for this now, but this could be moved down to the platform
+
*; [http://bugs.eclipse.org/213074 213074] : Make run to line adapter async.
** This would allow the Java debugger to support operations like CTRL-C and CTRL-Break in the console
+
*; [http://bugs.eclipse.org/244059 244059] : Allow breakpoints to specify when they should be overwritten on import
* Support EFS (external file system) for launch configuration persistence
+
*; [http://bugs.eclipse.org/236980 236980] : [launching] Support ILaunchConfigurations on EFS
* Asynchronous viewer framework
+
 
** Compare with existing JFace tree databinding
+
* '''JDT Enhancements'''
** Create a JFace component for the framework
+
** '''Execution Environments''' : Support for custom execution environments. This is a joint effort between OSGi, JDT, and PDE. OSGi needs support for contributing OSGi profile definitions. JDT needs to be able to reference those profiles (connect an .ee file to an OSGi profile), PDE needs to be able to set compiler options based on an OSGi profile, and API tooling needs to be able to understand the profile definitions as well to build a system library component.
** Pawel: DSF View Model as a solution to the single adapter problem?
+
 
* Debugging without the debug view or debug perspective
+
== M4 ==
** Lightweight context switching (quick pop-up to select new context)
+
* '''Reliability'''
** Where should the debug toolbar reside?
+
** Rework performance test suite to make relevant/stable test cases
** Is there a need for lightweight variables view or "debug dashboard"?
+
* '''Workflow'''
* Create more meaningful performance tests and backport to 3.4
+
** ''Memory View''
** Pawel: a virtual tree viewer as a test tool and for copy, find, etc.
+
**; [http://bugs.eclipse.org/244822 244822] : streamline memory view workflow & reduce UI clutter (Ted Williams, Wind River)
* Debugger tooltip enhancements
+
 
** Instant debugger tooltips, without waiting for operating system delay (may require some infrastructure changes for tooltips in the platform ui)
+
** ''Multiple-context debugging''
** Each time you step, tooltip automatically refreshes the displayed value
+
**; Debug working sets : Implement a mechanism to let the user group a sub-set of debug contexts, and then use this sub-set to drive content of debugger views.  A color, label, and a decorator could be used to identify the working set.
* Expressions view: click or double-click to add or edit expressions in-line (without dialog)
+
**; Multiple instances of debugger views : Allow user to create multiple instances of Variables, Registers and other debugger views.  To make this feature useful, also allow the user to select the input debug context for the views.
* Pawel: Peaceful coexistence of different debuggers
+
 
** Make it easier to create different breakpoint types from the same editor (bug 212316)
+
== M5 ==
** Make run to line adapter async. (bug 21074)
+
 
** Port debugger actions to command framework?  Related: bug 229219.
+
 
* Mikhail K: Breakpoints presentation
+
== Debug Platform 3.* ==
** Decorate breakpoints according to active debug context (bug 238954)
+
 
** Improve usability of the breakpoints view (bug 238956)
+
* '''Modularity'''
* Ken: Allow plug-ins to extend/modify/cancel launches (bug 175538)
+
** ''Asynchronous viewer framework ''
* Ken: Move breakpoint actions from CDT to the platform
+
**; [http://bugs.eclipse.org/161435 161435] : Contribute asynchronous viewer to JFace.
 +
**; [http://bugs.eclipse.org/242489 242489] : Create a virtual viewer implementation for use in tests, debug search, and a view-less active context provider.
 +
**; DSF View Model implementation for standard debug model : Prototype a standard debug model/flexible hierarchy integration using DSF View Model (Pawel Piech).
 +
 
 +
* '''Platform'''
 +
*; Spawner : Contribute process "Spawner" from CDT to platform, to support process IDs and system signals (Darin Wright).
 +
*; [http://bugs.eclipse.org/175538 175538] : Allow plug-ins to extend/modify/cancel launches.
 +
*; CDT breakpoint actions : Move breakpoint actions from CDT to the platform (Ken Ryall).
 +
*; Launch configurations in EFS : Support EFS (external file system) for launch configuration persistence (Darin Wright).
 +
 
 +
* '''Workflow'''
 +
** ''Debugging without the debug view or debug perspective''
 +
**; Debug dashboard : Create a lightweight variables view or "debug dashboard" (requested by ?).
 +
** ''Debugger tooltip enhancements''
 +
**; Instant debugger tooltips : Implement debugger tooltips as "instant debugger tooltips", which appear without waiting for operating system delay (Mike Morearty).
 +
**; Tooltip updates : Each time you step, tooltip automatically refreshes the displayed value (Mike Morearty).
 +
**; In-line expressions editing : In the Expressions view, allow user to click or double-click to add or edit expressions in-line, without opening a dialog (Mike Morearty).
 +
** ''Breakpoints presentation''
 +
**; [http://bugs.eclipse.org/238954 238954] : Decorate breakpoints according to active debug context.
 +
**; [http://bugs.eclipse.org/238956 238956] : Improve usability of the breakpoints view.
 +
** ''Multiple-context debugging''
 +
**; Debugging with multiple editors visible : Allow debugger to manage the editor area to display multiple debug sessions simultaneously.
 +
 
 +
* '''Reliability'''
 +
**; Performance tests : Create more meaningful performance tests and backport to 3.4
  
 
== Debug Platform e4 ==
 
== Debug Platform e4 ==
  
* Use services instead of singletons (launch manager, expression manager...)
+
* '''Modularity'''
* Separate launching into a new component, that can be used without debug
+
*; Services : Use services instead of singletons (launch manager, expression manager...)
** Consolidate/simplify launching APIs (mixed mode, launch shortcuts, contextual launch)
+
*; Launch Framework : Separate launching into a new component, that can be used without debug
** Should we continue to use launch configurations, or consider an architecture that would allow aspects of a launch be used more easily to compose different types of launch configurations (e.g. JRE, Source lookup...)
+
*; DSF : Moving forward what happens to the standard debug model? DSF?
*** How can we make the UI for a launch aspect more reuseable?
+
 
** Merge external tools with run/debug
+
* '''Platform'''
** Support for multi-launch
+
** ''Improve launch framework''
** Provide direct access to a process's input/output streams (no need for StreamsProxy)
+
**; Launch APIs : Consolidate/simplify launching APIs (mixed mode, launch shortcuts, contextual launch)
** Namespace for launch configurations should not be flat
+
**; Decouple launch configurations : Should we continue to use launch configurations, or consider an architecture that would allow aspects of a launch be used more easily to compose different types of launch configurations (e.g. JRE, Source lookup...)
* Moving forward what happens to the standard debug model? DSF?
+
**** How can we make the UI for a launch aspect more reuseable?
 +
**; External tools : Merge external tools with run/debug
 +
**; Multi-launch : Support for multi-launch
 +
**; Get rid of StreamsProxy : Provide direct access to a process's input/output streams (no need for StreamsProxy)
 +
**; Launch configuration namespaces : Namespace for launch configurations should not be flat

Latest revision as of 11:40, 22 August 2008

This page is gathering place of ideas for the future evolution of the Eclipse debug platform (3.*, and e4).

Debug Platform 3.5

M2

  • Reliability
    • 242489 
      Create a framework based on the virtual viewer that simulates the common debugger views and validates debug model's content providers. (Pawel Piech)
  • Platform
    212316 
    Make it easier to create different breakpoint types from the same editor.
    229219 
    Allow command framework handlers easy access to active debug context.

M3

  • Workflow
    • Debugging without the debug view or debug perspective
      Active debug context switcher 
      Create a lightweight mechanism for switching and reporting the active debug context (Pawel Piech).
      Debug toolbar 
      Add a top-level toolbar for Debug actions (Pawel Piech).
  • Platform Enhancements
    213074 
    Make run to line adapter async.
    244059 
    Allow breakpoints to specify when they should be overwritten on import
    236980 
    [launching] Support ILaunchConfigurations on EFS
  • JDT Enhancements
    • Execution Environments : Support for custom execution environments. This is a joint effort between OSGi, JDT, and PDE. OSGi needs support for contributing OSGi profile definitions. JDT needs to be able to reference those profiles (connect an .ee file to an OSGi profile), PDE needs to be able to set compiler options based on an OSGi profile, and API tooling needs to be able to understand the profile definitions as well to build a system library component.

M4

  • Reliability
    • Rework performance test suite to make relevant/stable test cases
  • Workflow
    • Memory View
      244822 
      streamline memory view workflow & reduce UI clutter (Ted Williams, Wind River)
    • Multiple-context debugging
      Debug working sets 
      Implement a mechanism to let the user group a sub-set of debug contexts, and then use this sub-set to drive content of debugger views. A color, label, and a decorator could be used to identify the working set.
      Multiple instances of debugger views 
      Allow user to create multiple instances of Variables, Registers and other debugger views. To make this feature useful, also allow the user to select the input debug context for the views.

M5

Debug Platform 3.*

  • Modularity
    • Asynchronous viewer framework
      161435 
      Contribute asynchronous viewer to JFace.
      242489 
      Create a virtual viewer implementation for use in tests, debug search, and a view-less active context provider.
      DSF View Model implementation for standard debug model 
      Prototype a standard debug model/flexible hierarchy integration using DSF View Model (Pawel Piech).
  • Platform
    Spawner 
    Contribute process "Spawner" from CDT to platform, to support process IDs and system signals (Darin Wright).
    175538 
    Allow plug-ins to extend/modify/cancel launches.
    CDT breakpoint actions 
    Move breakpoint actions from CDT to the platform (Ken Ryall).
    Launch configurations in EFS 
    Support EFS (external file system) for launch configuration persistence (Darin Wright).
  • Workflow
    • Debugging without the debug view or debug perspective
      Debug dashboard 
      Create a lightweight variables view or "debug dashboard" (requested by ?).
    • Debugger tooltip enhancements
      Instant debugger tooltips 
      Implement debugger tooltips as "instant debugger tooltips", which appear without waiting for operating system delay (Mike Morearty).
      Tooltip updates 
      Each time you step, tooltip automatically refreshes the displayed value (Mike Morearty).
      In-line expressions editing 
      In the Expressions view, allow user to click or double-click to add or edit expressions in-line, without opening a dialog (Mike Morearty).
    • Breakpoints presentation
      238954 
      Decorate breakpoints according to active debug context.
      238956 
      Improve usability of the breakpoints view.
    • Multiple-context debugging
      Debugging with multiple editors visible 
      Allow debugger to manage the editor area to display multiple debug sessions simultaneously.
  • Reliability
    • Performance tests 
      Create more meaningful performance tests and backport to 3.4

Debug Platform e4

  • Modularity
    Services 
    Use services instead of singletons (launch manager, expression manager...)
    Launch Framework 
    Separate launching into a new component, that can be used without debug
    DSF 
    Moving forward what happens to the standard debug model? DSF?
  • Platform
    • Improve launch framework
      Launch APIs 
      Consolidate/simplify launching APIs (mixed mode, launch shortcuts, contextual launch)
      Decouple launch configurations 
      Should we continue to use launch configurations, or consider an architecture that would allow aspects of a launch be used more easily to compose different types of launch configurations (e.g. JRE, Source lookup...)
        • How can we make the UI for a launch aspect more reuseable?
      External tools 
      Merge external tools with run/debug
      Multi-launch 
      Support for multi-launch
      Get rid of StreamsProxy 
      Provide direct access to a process's input/output streams (no need for StreamsProxy)
      Launch configuration namespaces 
      Namespace for launch configurations should not be flat

Back to the top