The diagnoser is designed with three objectives in mind:
1. To disect the program for understanding the inner working of the various modules
2. To facilitate brute-force tracking of variables and line-by-line execution
3. Toward a self-debugging environment by automating the tracking of bugs and execution of the robots
The self-debugging feature requires that a debugging statement be written out, on unit 70 and flushed just in case the bombing out does not allow saving of the output buffer, at the beginning and end of all subroutines.
Also a auto-looping feature is programmed into the beginning of each program to allow detecting and tracking of any bug when the content of unit 70 does not end in "SUCCESS".
Another feature external to the diagnoser program is one that allow robotic search of compilation or loading bugs by the editor. This is done when the compilation and loading of a program is submitted to be executed in the background so that a output file can be generated and processed for bug detection. The command "x" causes successive positioning of the cursor at the trouble statement.
3.6
DIAGNOSIS HOW-TO