Service Studio debugger: Step Into improvements


When debugging a Module, it's possible to use Step Into to execute assignments one by one (instead of executiong the entire Assignment Statement at once). This is a great feature, but it could use some improvements:

  1. There's no visual clue this happens. The "cursor" (arrow) stays on the Assignment Statement node, until the last of the assignments has been executed. It would be great if the Assignment would open in the Property Pane (where it normally opens when clicked), with the cursor/arrow pointing at the currently executed line.
  2. The Step Into steps into everything, including User Functions. If the first assignment uses a User Function, that Function is stepped into directly, which can be confusing. So if 1 above is implemented, SS should first show the cursor at the first assignment, before executing anything. Also, it should then be possible to use Step Over / Step Into / Step Out having a scope for that Assignment Statement (so Step Over executes the current assignment, Step Into steps into the first User Function, Step Out executes all assignments and returns the cursor to the next Statement to execute).
  3. If 2 is implemented, also make sure to select (or otherwise mark) the User Function, if any, so it's clear what the user is going to Step Into. If there are multiple User Functions, they should be marked one after the other.

EDIT: The above should also go for Structure/List mappings.

Created on 30 Jan 2019
Comments (5)

Love the idea, but at least one detail might be tricky:

If the first assignment uses a User Function, that Function is stepped into directly, which can be confusing."

Since breakpoints can only happen on actual lines of code... the first function will be the first line of code on the assignment, so I don't see any easy way to do this (unless SS interprets clicking on the button as "just change the arrow cursor but don't really do anything debugger-side"... which now that I think about it, might be exactly what we'd want).

Changed the category to Debugger

@Jorge: for the first it shouldn't be a problem, as an Assignment Statement with multiple assigns will be multiple lines of C# code, each having the breakpoint code above the line (cf. current functionality). Depending on the way the functions are inlined, it might be impossible to have this functionality, but one can always dream :).

Great idea Kilian, I'd love to see this implemented at least to a certain extent. 

Great idea.