Usage


Select a script.
  • Locate the Menu on the top left: File -> Script.
  • You are shown a directory with its Python scripts.
  • Move to another directory via the folder with the plus. It leads to all the sub-directories.
  • When you're in the right directory; click your script.
  • Enter parameters if needed, and press Start.
  • Double clicking a script, is the same as starting it without parameters.
  • Wait for the script to finish. Be patient: It will take a lot longer than usual.
  • For special requirements: View -> Status. It is only available while the script runs.
Read code.
  • Move your cursor over the code. Words close to the cursor turn red: Run-time information exists.
  • View:
    • A variable value.
    • The outcome of a condition when you click an if.
    • The iterations in a loop, when you click a while. Each iteration is a tab.
    • A function call.
    • A print statement to see what is contributed.
    • Details of an instance.
    • The indirect function calls originating from the line, when you click the red plus at the end of a line. More about that later.
  • Click it once more, to close. Escape and Enter are shortcut keys.
Loops.
  • A loop initially displays its first iteration.
  • Bring tabs into view with your scroll wheel. Alternatively use one of the arrows.
  • Right click, to enter a tab number.
  • Once an iteration is selected, it stays current: The tabbed interface does not need to show.
Functions.
  • Click an entry in the Function calls window to return to a previous level in the call chain.
  • It can be moved or minimized.
  • Indirect function calls were mentioned earlier. They are the calls of your functions made internally by Python. Consider for example the __repr__ method. Python uses it whenever it needs to print an object. These __repr__ calls don’t show up in your code, so you can’t click them. Showing them in this list makes them accessible.
Searches.
  • Search run-time details with Edit -> Search
  • Search for value: Enter a regular expression and all variable values are searched for it.
  • Only the first 100 matches are shown. A Previous and Next button takes you through the matches.
  • When calls are included, and matches exists deeper down the call chain, the call that leads to them is highlighted. Click that call and repeat the search at the lower level. 
  • Matches are displayed in the run-time environment in which they occurred.
  • Search for variable: Whenever a variable is used.
  • Search for line: If you want to check specific code but don’t know how to get there.
Remarks.
  • Remarks can be attached to the right margin of the code. Use the right margin to handle remarks.
Imports and threads.
  • An Entry Point is a point in the code where execution starts. You could have started it there, or one of Python's internal functions could have.
  • Examples are:
    • The mainline of your script.
    • Import statements: Python starts the execution of the mainline of every imported script.
    • A thread that starts one of your functions.
  • You can follow one Entry Point at a time.
  • When it applies they are under View -> Top Level.
Include imports.
  • If you import code and want to include that code in your debugging, then that code needs to be in the same directory or sub-directory as your script.
  • Or you can add a directory entry in: Edit -> Preferences
Sessions.
  • You can always return to a recent debugging session with File -> Session. If the data collection is time consuming, you could consider using the previous session.
  • By default only one session is kept. An option is available to keep more.
Keyboard shortcuts.
  •  <shift><control> H :
     search
     <shift><control> E :
     previous match
     <shift><control> X :
     next match
     <shift><control> > :
     next match in group
     <shift><control> < :
     previous match in group
     <shift><control> + :
     show group
     <shift><control> - :
     hide group
     <shift><control> L :
     display code only
     <shift><control> T :
     scripts
     <shift><control> Z :
     sessions
     <shift><control> Q :
     entry points
     <shift><control> D :
     jump to iteration
     <shift><control> <up>
    :
     position ruler up, select previous loop
     <shift><control> <down>
    :
     position ruler down, select next loop
     <shift><control> <left> :
     previous iteration
     <shift><control> <right> :
     next iteration
     <enter>   :
     select, click default button
     <escape>   :
     undo select, close