Jump to: navigation, search

DSDP/DD/Face-to-face Ottawa 24-Sept-2007

< DSDP‎ | DD

Purpose of this meeting is to have coding workshop for developers using the DSF framework.


Monday September 24 2007, the day before the CDT Fall 2007 Summit I plan to get into office around 8AM and I hope we will start by 9AM.


[See CDT Summit Hotel Info]


Wind River Office in Ottawa (Bullwinkle Room)
350 Terry Fox Drive, Suite 200
Kanata, Ontario K2K 2W5
Tel.: 613-270-2240
Map to WindRiver Office


See prerequisites from the first coding camp at http://wiki.eclipse.org/DSDP/DD/Face-to-face_Alameda_14-18-May-2007#Prerequisites

Agenda and Notes

The agenda could either be focused on continued GDB reference implementation or on more general DSF topics depending on what the attendees would like to have.

  • Introductions (1h)
  • Coding Excercise: Breakpoints Service (4h)
    • Review existing MIBreakpoints service implementation.
    • Missing functionality that is in CDT UI
      • Breakpoint options: condition, ignore count.
        • Add parameters to the DsfMIBreakInsert object
      • Disabled breakpoints:
        • If a breakpoint is disabled, un-install it from the back end. If it is enabled, install it.
        • Implementation, add BP to internal database even if disabled. After BP changed to enabled, install it in back end.
      • Thread-specific Breakpoints.
        • Create separate target-side breakpoint for each thread with given thread ID (-p option).
        • Need to implement standard debug model and CDT extensions to allow user to specify the thread in the breakpoint properties dialog.
        • Complicates status reporting.
        • Ignore count is tracked separately for every thread.
      • Handling breakpoints changed (enable/disable, line# change, etc.).
        • We're better off ignoring the line# changes.
        • To make the change: uninstall old BP, install new BP.
        • Side effect: hit count is lost across BP changes.
      • Source lookup mapping.
        • Need to implement ISourceLookup service.
      • Deferred breakpoints (shared libraries).
      • Breakpoint (script) actions.
    • Missing functionality (additional).
      • Temporary breakpoints
      • Hardware breakpoints
      • Handling breakpoints added on the back-end side or through the CLI interface.
      • Reporting breakpoint planting status information: address, hit count, etc.
        • Hit count can be polled from GDB on demand.
      • Dealing with BPs moved by the back end.
      • Advanced breakpoint filtering.
    • Pick a feature and implement it.
  • Discussion: Refactoring of Data Model Contexts (3h).
    • Relationship between contexts from services that should have no dependencies between each other: IRunControl, IMemory, IModules.
    • Use of generics.
    • Relationship between IDMContext and IDMData.


  • Pawel Piech, WindRiver
  • Marc Khouzam, TSP/Ericsson
  • Francois Chouinard, TSP/Ericsson
  • Dominique Toupin, PM&T/Ericsson
  • Magnus Ohlin, EMP/Ericsson
  • Joel Huselius, CPP/Ericsson
  • Mikhail Khodjaiants, ARM (tentative)
  • Dobrin Alexiev, TI
  • Doug Schaefer, QNX