!!! FIRST INSTALL "Debugger Core" as a library !!!
then start DEBUGGER and
- Assign the frontmost script window as one to be debugged.
- Type a word MARKER (case sensistive at the critical place of the script. You can apply copy-paste for easy insertion of many "MARKER"s. MARKER must always start from a new line.
- Click "numerate all". All markers will be numbered and some special debugging text will be appended to them.
- Run debugging in the "non-stop" or "stepwise" mode. When approaching a certain marker, its consequent number will be printed in the output window and displayed in the debugger message.In case the bug is already evident, click "stop" to halt the execution.
- After your catch the bug, click "delete all" to delete all markers from the script.
- Click "de-assign" your script.
In the more advanced mode, you might wish to print out the values of certain variables during consequent execution of the script from marker to marker. Insert the names of the variables in the "variables" list. You can increase the number of lines in this list by clicking "add line".
- Then click "burn all". A certain text will be added at each marker saying to the Debugger to print out the variable value when the marker is reached.
- If you do not wish to print the variables names anymore click "remove all".
- It is possible to print the value of a certain element in the array the same way. Just type "im,i" where "im" is a name of 1D array and "i" is the element index. "im" should be defined as an array(image) in your script. "i" should be defined as a number. The syntaxis like "im,23" is also allowed. Similarly "im,i,j" and "im,i,j,k" are used to print the value of the element in 2D and 3D arrays.
- The result of printing would depend on whether a given variable is actually defined in the specific fragment of the script. If the variable is local, most of markers would generate an error when running the script. One should MANUALLY delete such the variable from the markers where it is not appropriated.
- In case the variable name is not longer than 3 letters, the manual adjusting is not needed. Even if the given variable is NOT defined in the specific script fragment, the debuger would NOT generate an error but rather ignore this variable.