set_spy
— Steuern des HALCON Debugging Tools.
set_spy
ist das HALCON Debugging Tool.
Es erlaubt die flexible Überwachung der Ein- und Ausgabedaten
von HALCON-Operatoren - sowohl graphisch
als auch textuell. Aktiviert wird die Datenkonrolle mittels
set_spy(::'mode','on':)
,
ausgeschaltet mittels
set_spy(::'mode','off':)
.
Außerdem kann das Debugging Tool mit der Environmentvariable HALCONSPY aktiviert werden: Wenn diese Variable definiert ist, entspricht das dem Aufruf mit 'mode' und 'on' .
Folgende Überwachungsmodi können (natürlich in beliebiger Kombination)
über Class
/Value
eingestellt werden:
Class Bedeutung / Value
Bei Aufruf einer Routine werden deren Name und die Namen ihrer Parameter (in TRIAS Notation) ausgegeben.
Value: 'on' oder 'off'
default: 'off'
Bei Aufruf einer Routine werden die Namen und Werte der Eingabesteuerparameter ausgegeben.
Value: 'on' oder 'off'
default: 'off'
Bei Aufruf einer Routine werden die Namen und Werte der Ausgabesteuerparameter ausgegeben.
Value: 'on' oder 'off'
default: 'off'
Informationen über die 4 Relationen in der
HALCON-Datenbank. Dies ist insbesondere bei der
Suche nach vergessenen clear_obj
zu suchen.
Value: 'on' oder 'off'
default: 'off'
Ergänzung zu 'input_control' und 'output_control': Gibt an, wieviele Werte pro Parameter maximal ausgegeben werden sollen (maximale Tupellänge für Ausgabe).
Value: Tupellänge (integer)
default: 4
Rechenzeit für die Ausführung des Operators
Value: 'on' oder 'off'
default: 'off'
Umleitung der Textausgabe von spy in ein File, das mit open_file geöffnet wurde.
Value: ein File Handle (siehe open_file
)
Ist 'error' eingeschaltet, gibt spy beim Auftreten eines internen Fehlers die Prozeduren (Datei/Zeilennummer) aus, bei denen der Fehler auftritt.
Value: 'on' oder 'off'
default: 'off'
Ist 'internal' eingeschaltet, gibt spy vor dem Aufruf eines internen HALCON-Operators den Prozedurname mit ihren Parametern (Datei/Zeilennummer) aus.
Value: 'on' oder 'off'
default: 'off'
Jede Ausgabe beginnt mit dem thread handle, gefolgt von einem globalen Zähler, welcher die Reihenfolge der Ausgaben markiert. In multi-threaded Anwendungen kann mit dieser Information die Ausgabe einzelnen User Threads zugeordnet und der chronologische Ablauf rekonstruiert werden.
Unter Windows funktioniert die Ausgabe auf stdout nur in Konsolenapplikationen. Dies bedeutet, dass man diesen Mechanismus zum Beispiel nicht in Kombination mit HDevelop verwenden kann.
Class
(input_control) string →
(string)
Überwachungsmodus
Defaultwert: 'mode'
Werteliste: 'db' , 'error' , 'input_control' , 'internal' , 'log_file' , 'mode' , 'operator' , 'output_control' , 'parameter_values' , 'time'
Value
(input_control) string →
(string / integer / real)
Einzustellender Status des Überwachungsmodus.
Defaultwert: 'on'
Wertevorschläge: '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");
set_spy
liefert den Wert 2 (H_MSG_TRUE), falls die Parameter korrekt sind.
Ansonsten wird eine Fehlerbehandlung durchgeführt.
Foundation