set_spy
— Control of the HALCON Debugging Tools.
The operator set_spy
is the HALCON debugging tool.
This tool allows the flexible control of the input and output data
of HALCON-operators - in graphical as well as in textual form.
The data control is activated by using
set_spy(::'mode','on':)
,
and deactivated by using
set_spy(::'mode','off':)
.
The debugging tool can further be activated with the help of the environment variable HALCONSPY. The definition of this variable corresponds to calling up 'mode' and 'on' .
The following control modes (Class
) can be tuned using
Value
:
Class
= 'operator'When a routine is called, its name and the names of its parameters will be given (in TRIAS notation).
Value
: 'on' or 'off' .
Default: 'off' .
Class
= 'input_control'When a routine is called, the names and values of the input control parameters will be given.
Value
: 'on' or 'off' .
Default: 'off' .
Class
= 'output_control'When a routine is called, the names and values of the output control parameters are given.
Value
: 'on' or 'off' .
Default: 'off' .
Class
= 'parameter_values'Additional information on 'input_control' and 'output_control' : indicates how many values per parameter shall be displayed at most (maximum tuple length of the output).
Value
: tuple length (integer)
Default: 4
Class
= 'db'
Information concerning the 4 relations in the
HALCON-database. This is especially valuable
in looking for forgotten clear_obj
.
Value
: 'on' or 'off' .
Default: 'off' .
Class
= 'time'Processing time of the operator
Value
: 'on' or 'off' .
Default: 'off' .
Class
= 'log_file'Spy can hereby divert the text output into a file having been opened with open_file.
Class
= 'error'If 'error' is activated and an internal error occurs, spy will show the internal procedures (file/line) concerned.
Value
: 'on' or 'off' .
Default: 'off' .
Class
= 'internal'If 'internal' is activated, spy will display the internal procedures and their parameters (file/line) while an HALCON-operator is processed.
Value
: 'on' or 'off' .
Default: 'off' .
Each output starts with the thread handle, followed by a global counter that marks the order of the outputs. In multi-threaded applications, this information can be used to assign the output to individual user threads and to reconstruct the chronological sequence.
Note that under Windows the output on stdout works only in combination with a console application.
Class
(input_control) string →
(string)
Control mode
Default: 'mode'
List of values: 'db' , 'error' , 'input_control' , 'internal' , 'log_file' , 'mode' , 'operator' , 'output_control' , 'parameter_values' , 'time'
Value
(input_control) string →
(string / integer / real)
State of the control mode to be set.
Default: 'on'
Suggested values: 'on' , 'off' , 1, 2, 3, 4, 5, 10, 50, 0.0, 1.0, 2.0, 5.0, 10.0
/* init spy: Setting of the wished control modi */ set_spy("mode","on"); set_spy("operator","on"); set_spy("input_control","on"); set_spy("output_control","on"); /* calling of program section, that will be examined */ set_spy("mode","off");
The operator set_spy
returns the value 2 (
H_MSG_TRUE)
if the parameters
are correct.
Otherwise an exception is raised.
Foundation