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

DSDP/DD/DSF CodingCamp ExpressionServiceExcercise

< DSDP‎ | DD
Revision as of 17:24, 7 May 2007 by Pawel.piech.windriver.com (Talk | contribs) (New page: == Goals == * Populate contents of the variables view with local variables of the selected stack frame. * Retrieve the sub-expressions of arrays and structs to show in Variable view. * Ena...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Goals

  • Populate contents of the variables view with local variables of the selected stack frame.
  • Retrieve the sub-expressions of arrays and structs to show in Variable view.
  • Enable evaluating of expressions that user types in the Expression view.

Existing Components

  • Stack Service:
    • Interface: org.eclipse.dd.dsf.debug.service.IStack
    • MI Implementation: org.eclipse.dd.dsf.mi.service.MIStack
    • Existing functionality:
      • Retrieves list of all stack frames for a given execution context
      • Retrieves the list of function arguments for a given stack frame context
    • Missing functionality / Cleanup tasks
      • Retrieving the list of local variables for a given stack frame context
      • Simplify logic to retrieve argument data.
        • Get rid of isValid() and make the VariableDMData class immutable
      • Add tracing to the service
  • Expression Service:
    • Interface: org.eclipse.dd.dsf.debug.service.IExpressions
    • MI Implementation: org.eclipse.dd.dsf.mi.service.ExpressionService
    • Existing functionality:
      • Provided implementation was written to the interface but never tested.
      • The expression service is correctly created and shutdown during the launch sequence
    • Missing functionality:
      • As mentioned above the implementation was never tested, so it's not reliable as a reference.
      • Existing implementation does not manage the variable objects created by GDB using the "-var-create" command. Therefore all GDB variable objects that are created are leaked.
      • The expression service needs to retrieve the variable value in the number format that is specified by the client.

Back to the top