Skip to main content

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.

Jump to: navigation, search

DSDP/DD/DSF CodingCamp MultiThreadingExcercise

< DSDP‎ | DD
Revision as of 23:36, 8 May 2007 by Pawel.piech.windriver.com (Talk | contribs) (Goals)

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.

Back to the top