Variable |
Value/meaning |
Access |
debug%active |
The debug functions will be active only if debug%active is set to non-zero. Default is 1.
This variable is usually used to turn off all debug features in one go. (The operation will speed up marginally.) |
get(no array) set(no array) |
debug%display |
The string set to this variable will be displayed on the current debug window. |
get(no array) set(no array) |
debug%file debug%file:name
debug%line debug%line:number |
The name of the current script file
The line number of the command currently being executed. |
get(no array) |
debug%function:time |
If set to n, the execution time of the function down to nth level will be displayed upon its return. Default is 0. |
get(no array) set(no array) |
debug%trace |
If set to non-zero, display [file:line] before executing a line. Default is 0. |
get(no array) set(no array) |
debug%trace:function debug%trace:functions |
Comma-delimited list of actual function names of functions only in which the debug%trace setting will be effective.
Setting debug%trace:function to blank means to trace the main program only. If debug%trace:function is not set (or cleared), all lines will be traced. |
get(no array) set(no array) clear(no array) |
debug%trace:showfunction |
If set to non-zero with debug%trace, show [file:line-actual_function_name]. Default is 0. |
get(no array) set(no array) |
debug%trace:showinfo |
If set to non-zero with debug%trace, show more information (e.g. the BEE command). Default is 0. |
get(no array) set(no array) |
debug%trace:showtime |
If set to non-zero with debug%trace, show HH:MM:SS:[file:line]. Default is 0. |
get(no array) set(no array) |
debug%trace:count debug%trace:maxline debug%trace:maxlines |
If set to a positive number, debug%trace will automatically switched off after the specified number of lines have been traced. Default is null, which means not to switch off debug%trace until explicitly done (i.e. set to 0.) |
get(no array) set(no array) |
debug%trap[:file:line] |
If set to a positive number, the operation will stop before the "number"th time executing the line specified as file:line. If debug%watch is set, the "watched" value will be displayed before the operation stops.
If file: part is not specified, the operation will stop before that line regardless of the file being in.
If both file and line is not specified, the trap will apply to every line. e.g. setting debug%trap to 10 will cause the operation to execute 9 more lines and stop before the 10th. Setting debug%trap to 1 will stop the operation before executing the next line. |
get(no array) set(no array) |
debug%trapfunction[:file:line] |
If set to a function name, when the operation is trapped at file:line the specified function will be executed before the operation stops. (The debug%trapfunction and debug%trap of the same element index (the :file:line part) always come together.)
The trap-function will be given the context of the trap point so that it can show or even reprocess any variables upon the trap. (Yes, the trap-function may "pollute the environment".)
The trap-function may resume the trapped operation by assigning a positive integer to "debug%trapresume". Upon returning, the system will re-initialise the "trap count" (the debug%trap[:file:line] variable) by the value of "debug%trapresume".
Note: debug%active is set to 0 (all debug features off) before the trap-function is entered. If you want the debug features to be active again after resuming, please set debug%active to 1 before returning. |
get(no array) set(no array) |
debug%trapresume |
To be set by the "trapfunction".
If set to a positive integer, the operation will resume upon the return of the trapfunction, with the "trap count" for that trap point re-initialised to that positive integer.
If not set or set to a non-positive integer, the operation will stop upon the return of the trapfunction. |
get(no array) set(no array) |
debug%watch[:file:line] |
Comma-delimited list of values to show before executing the line specified as file:line.
If file: part is not specified, the values will be displayed on that line regardless of the file being in.
If both file and line is not specified, the values will be displayed whenever a line is "traced".
Note: The values are interpreted under the local context. Please use absolute attribute to avoid pre-evaluation: var debug%watch:file:line =! ... |
get(no array) set(no array) |
debug%watchformat |
The format of the "watch" with the name represented by @name and value by @value. Default is [@name=@value]. |
get(no array) set(no array) |
debug%window |
The name of the debug window that you want the debug message to display in.
The debug window will be opened at the time of setting debug%window regardless of debug%active, but no message will be displayed until debug features are set and enabled.
The debug window will remain open until it is closed manually.
Default is blank (the same browser window of the web page.) |
get(no array) set(no array) |
debug%window:display |
Same as debug%display |
get(no array) set(no array) |