Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "DSDP/DD/DSF CodingCamp MultiThreadingExcercise"
(New page: == Goals == * Enable Multi-threaded debugging with DSF) |
(→Goals) |
||
Line 1: | Line 1: | ||
== Goals == | == Goals == | ||
− | * Enable | + | * Enable multi-threaded debugging with DSF |
+ | |||
+ | == Existing Components == | ||
+ | |||
+ | === Run Control Service === | ||
+ | ; Interface: org.eclipse.dd.dsf.debug.service.IRunControl | ||
+ | ; Standard MI implementation: org.eclipse.dd.dsf.mi.service.MIRunControl | ||
+ | ; GDB-specific extensions: org.eclipse.dd.dsf.mi.service.GDBRunControl | ||
+ | ; Existing functionality | ||
+ | :* Basic run control functions (run, suspend, step) for a single thread. | ||
+ | :* Tracking state and generating events for a single thread (running, stopped) | ||
+ | ; Missing functionality | ||
+ | :* Retrieving list of thread contexts from back end | ||
+ | :* Enabling run control commands for multiple threads (using -thread-select) | ||
+ | :* Tracking state of multiple threads | ||
+ | :* Generating started/stopped events when new threads are discovered or when threads disappear | ||
+ | |||
+ | === Command Control Service === | ||
+ | ; Interface: org.eclipse.dd.dsf.debug.service.command.ICommandControl | ||
+ | ; Standard MI implementation: org.eclipse.dd.dsf.mi.command.AbstractMIControl | ||
+ | ; GDB-specific extensions: org.eclipse.dd.dsf.mi.commandGDBControl | ||
+ | ; Existing functionaliyt | ||
+ | :* Queueing/Sending of MI commands to back end. | ||
+ | :* Receiving responses of MI commands and out-of-band records | ||
+ | ; Missing Functionality | ||
+ | :* Tracking currently selected thread-id through -thread-select | ||
+ | :* Tracking currently selected frame #, through -stack-frame-select | ||
+ | |||
+ | === Command Cache === | ||
+ | ; Implementation: org.eclipse.dd.dsf.mi.service.control.MICommandCache | ||
+ | ; Existing functionality: | ||
+ | : Managing command requests for the same piece of data | ||
+ | : Caching command results | ||
+ | : Coalescing commands which retrieve ranges of data | ||
+ | ; Missing functionality: | ||
+ | : Maintaining separate cache data for different contexts | ||
+ | : Passing context information for commands on to the Command Control service. |
Revision as of 23:36, 8 May 2007
Contents
Goals
- Enable multi-threaded debugging with DSF
Existing Components
Run Control Service
- Interface
- org.eclipse.dd.dsf.debug.service.IRunControl
- Standard MI implementation
- org.eclipse.dd.dsf.mi.service.MIRunControl
- GDB-specific extensions
- org.eclipse.dd.dsf.mi.service.GDBRunControl
- Existing functionality
- Basic run control functions (run, suspend, step) for a single thread.
- Tracking state and generating events for a single thread (running, stopped)
- Missing functionality
- Retrieving list of thread contexts from back end
- Enabling run control commands for multiple threads (using -thread-select)
- Tracking state of multiple threads
- Generating started/stopped events when new threads are discovered or when threads disappear
Command Control Service
- Interface
- org.eclipse.dd.dsf.debug.service.command.ICommandControl
- Standard MI implementation
- org.eclipse.dd.dsf.mi.command.AbstractMIControl
- GDB-specific extensions
- org.eclipse.dd.dsf.mi.commandGDBControl
- Existing functionaliyt
- Queueing/Sending of MI commands to back end.
- Receiving responses of MI commands and out-of-band records
- Missing Functionality
- Tracking currently selected thread-id through -thread-select
- Tracking currently selected frame #, through -stack-frame-select
Command Cache
- Implementation
- org.eclipse.dd.dsf.mi.service.control.MICommandCache
- Existing functionality
- Managing command requests for the same piece of data
- Caching command results
- Coalescing commands which retrieve ranges of data
- Missing functionality
- Maintaining separate cache data for different contexts
- Passing context information for commands on to the Command Control service.