In the code panel of the Debug window:
> | marks the suspended line, same as the initial run line. |
- | marks the run line, if moved back from the suspended line. |
+ | marks the run line, if moved forward from the suspended line. |
* | marks a stop on a specific line. |
| | marks a stop on all lines. |
Command | Shortcut | Description |
run | continue execution at the run line. | |
single step | Enter, F10 | ontinue execution at the run line, stopping on the next line. Does not stop in definitions on the run line, unless they already have stops set in them. |
single step into | F11 | continue execution at the run line, stopping on the next line, or on the first line of any definitions on the run line. |
back | move run line back one line. Does not undo sentences already executed. | |
refresh | refresh Debug window, and restore run line to suspended line. | |
forward | move run line forward one line. Does not execute the run line. | |
stop line | F9 | toggle stop on line at the cursor position. |
stop all lines | toggle stops on all lines. | |
stop name | set stops on all lines on name at cursor position, or, if the entire line is selected, on all names on the line. If successful, highlights the name, or entire line of code. | |
stop manager | manage the stop settings. | |
watch manager | manage the watch names. | |
edit | open script window with the current definition. | |
clear | reset stack and clear the Debug window. Leaves suspension on. | |
help | This help. |
Command | Shortcut | Description |
shortcut helpn | Ctrl+H | shortcut help |
topmost | Ctrl+T | toggles the topmost attribute |
writeline | Ctrl+W | writes the current line to the execution session. |
run next | Ctrl+Shift+F5 | continue execution at next sentence. See below for details. |
remove stops | Ctrl+Shift+F9 | remove all stops |
run to cursor | Ctrl+F10 | run to cursor line |
move to cursor | Ctrl+Shift+F10 | move to cursor line |
step out | Shift+F11 | step out of current definition |
cutback | Ctrl+Shift+F11 | cutback stack to calling definition. See below for details. |
This tries to cutback the stack to the calling definition. Since there is no debug command to do this, the method is to stop all definitions on the stack, return a result of 1 from the current definition, then redisplay the Debug window with the appropriate run line. This works as long as returning a result of 1 from the current definition does not cause problems.
If the run line is the same as the suspended line, this executes the next sentence, or the next line if none. Note that several sentences may be included on one line, separated by control words.
If the run line has been moved away from the suspended line, then runnext has the same effect as the run button.