Merely opening and attaching the debugger to an extension does not engage
interactive debugging activity. You must also perform actions within the target
product that call a loaded extension's script. Only then are breakpoints hit and
execution details populated. For example, in the Workbench
Project tab, to invoke the callback
update()
for the extension
DebuggerDemo
, you right-click the
Pre-Geometry cell in the custom
Pre-Design system and select Update.
The debugger listens as the script is executed. When it encounters the first breakpoint in main.py, the debugger pauses execution, highlighting the line in yellow to indicate that it is the next statement to execute.
In the debugger toolbar, you have a button for stepping over to the next function call. Additionally, if the current breakpoint is for a method, you have buttons for stepping into the method call and then subsequently for stepping back out of the method call. You can also use the shortcut keys assigned to these buttons.
When execution of the extension is paused at a breakpoint, all functions, variables, and objects remain in memory. Using the various tabs in the debugger's lower panes, you can look at current values and review the call stack to determine if script violations or issues exist.
When you step over, into, or out of a function, the debugger automatically follows line execution. If you double-click a breakpoint, the debugger takes you to the script and line where this breakpoint is set. Similarly, when execution is paused, you can double-click an entry in the call stack to have the debugger take you to the script and corresponding line.