The top bar of the page has a series of buttons, each of which has its own function, laid out in subsequent sections.
This button allows you to load a Cool file from your local machine to the online debugger.
This button allows you to load an input file into the input frame for later execution.
This button allows you to save your current work to your local machine.
This button allows you to save the current input file to your local machine.
This button allows you to save the current output of the program to your local machine.
This button Compiles your code, and must be clicked before running the code
This button allows you to step through your code one micro instruction at a time. (ex. The expression `2+3` has around 6 micro instructions, start plus, evaluate left, evaluate 2, evaluate right, evaluate 3, add)
This button runs your compiled code to termination OR until a set breakpoint is reached
This button allows you to report a bug with the online debugger, when submitting a bug please give a brief explanation of the bug so that we can reproduce and fix it, this button will automatically include a JSONified string of your source and output so there is no need to include those manually.
This button allows you to access the manual page.
The area on the left half of the screen is the main text editor (Code frame). This is where you can load (via the Load Source button) or write your Cool program for execution. This text can also be saved (via Save Source). Breakpoints can be set on this frame by clicking on the line number which one wishes to set a breakpoint, and they are removed in the same manner. This area will also highlight the currently executing line.
The top half of the right column is a set of togglable frames, including the Input, Stack Trace, Info Locals, and Break Points frames. These frames are toggled by clicking on the desired name.
This frame is the input for your program. It can be loaded in (via Load Input) or modified in browser. This text can also be saved (via Save Input).
This frame displays a basic stack trace of the program during execution.
This frame displays the information about the currently in scope variables for the program. For non-basic types, this will display a memory address, which can be expanded to see the contents via a click.
This frame displays a simple listing of the current location of your breakpoints. These breakpoints are set and removed via the Code frame.
The bottom half of the right column is the output terminal. This non-editable frame displays the output of your program. This text can also be saved (via Save Output).