Skip to content

[M3] eval command #5

Description

@lisachenko

eval is what makes the IDE's watch/immediate window work. It is currently
answered with DBGp error 4 (unimplemented).

Tasks

  • Handle eval -i <tx> -- <base64(expression)> in
    ZDebug\Session\CommandDispatcher
  • Evaluate in the context of the frame selected by -d (default 0), reusing
    the ConditionEvaluator machinery from the conditional-breakpoint ticket
  • Return the result as a <property> via PropertySerializer
  • Return DBGp error 206 (EVAL_FAILED) when the expression throws
  • Advertise it in feature_get responses

Constraints

  • Runs under the reentrancy latch (the eval'd code compiles EXT_STMT oplines
    and would otherwise re-enter the statement handler
  • Never let a escape into the FFI callback
  • Writing back to locals () is explicitly out of scope - see
    the limitations ticket
    EOF
    )

Metadata

Metadata

Assignees

No one assigned

    Labels

    M3Milestone 3: conditions, eval, exceptions, pause

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions