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

Difference between revisions of "DSDP/DD/DSF CodingCamp ExpressionServiceExcercise"

< DSDP‎ | DD
(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...)
 
(Existing Components)
Line 27: Line 27:
 
*** 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.
 
*** 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.
 
*** 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.

Revision as of 18:18, 7 May 2007

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