Debugger window

The window is opened when EDM Supervisor is attached to a specific server (see Attach to remote client)

debugger.window.png
Debugger window

The main part is “Source”. It represents source code of a query or map schema to be debugged.

Each line has number. This line number can be seen in exception instance (it exists).

Debug actions

image-20241206-120423.png
Debug toolbar

Various buttons on the top of the window are used for the most common debugging actions.

  • Run (F5 hotkey) - resume normal execution (up to the next breakpoint)

  • RunToEnd - the same as Run button.

  • Step over (F10 hotkey) - execute the next statement (function or procedure) as a single command without inspecting or following its component steps.

  • Step into (F11 hotkey) - in case of function or procedure, enter it to follow its execution line-by-line.

  • Step out (F11 + Shift) - when inside a function or procedure, return to the earlier execution context by completing remaining lines of the current function/procedure as though it were a single command.

  • Stop (Ctrl + F5) - terminate the current execution.

  • Current statement - scroll source code text to see current line to be executed.

  • Set next statement - ?

Breakpoints

Breakpoints can be toggled by double clicking on the source code viewer margin. Enabled breakpoints are normally shown as X character at left of line numbers. Disabled breakpoints are shown as O character.

Finer breakpoint control (enable/disable/reapply) can be done in the Break Points section.

Another section named Break Point allows to enable breakpoints for specific cases.

  • #break_at_errors - normal execution is stopped at an internal error. For example, invalid assignment.

  • #break_at_warnings - normal execution is stopped is case of a warning.

  • #break_in_expressions - ?

  • #break_in_queries

Breakpont can be set for specific procedure or function. Drop down list “In exp/xpx” have all user defined and internal procedures and functions.

Call stack of executed functions/procedures can be seen in the Call Stack section.

If you click any of line in the Call Stack list, source code viewer will scroll its content to corresponding location.

Data inspection

Section Output represents numbers of executed lines. It also can represent variable value.

Button Examine is needed to represent value of a variable selected from the drop down list on the right. You can also select variable on the source code viewer, activate right click content menu and select Examine variable menu item.

Button Show Inst/Aggr shows dialog to represent either specific instance or aggregate. The button is not used directly. Instead use double click corresponding line in the Output list after you used Examine button.

Button Get Error Text is needed to get error text by error code number. The number should be filled to the text box above the button.