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 ExpressionServiceExcercise

< DSDP‎ | DD
Revision as of 18:18, 7 May 2007 by Unnamed Poltroon (Talk) (Existing Components)

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.
  • Variable view VM (View Model) - This is the primary client of the expression service, which populates the contents of the variables view. The view model was written against the expression service interface, and should work with a correctly implemented expression and stack services.

Back to the top