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"
(→Command Control Service) |
(→Existing Components) |
||
Line 9: | Line 9: | ||
; Standard MI implementation: org.eclipse.dd.dsf.mi.service.MIRunControl | ; Standard MI implementation: org.eclipse.dd.dsf.mi.service.MIRunControl | ||
; GDB-specific extensions: org.eclipse.dd.dsf.mi.service.GDBRunControl | ; GDB-specific extensions: org.eclipse.dd.dsf.mi.service.GDBRunControl | ||
− | ; Existing functionality | + | ; Existing functionality: |
:* Basic run control functions (run, suspend, step) for a single thread. | :* Basic run control functions (run, suspend, step) for a single thread. | ||
:* Tracking state and generating events for a single thread (running, stopped) | :* Tracking state and generating events for a single thread (running, stopped) | ||
− | ; Missing functionality | + | ; Missing functionality: |
:* Retrieving list of thread contexts from back end | :* Retrieving list of thread contexts from back end | ||
:* Enabling run control commands for multiple threads (using -thread-select) | :* Enabling run control commands for multiple threads (using -thread-select) |
Revision as of 23:37, 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 functionality
-
- 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.