set_spyset_spySetSpySetSpy (Operator)

Name

set_spyset_spySetSpySetSpy — Steuern des HALCON Debugging Tools.

Signatur

set_spy( : : Class, Value : )

Herror set_spy(const char* Class, const char* Value)

Herror T_set_spy(const Htuple Class, const Htuple Value)

void SetSpy(const HTuple& Class, const HTuple& Value)

static void HSystem::SetSpy(const HString& Class, const HTuple& Value)

static void HSystem::SetSpy(const HString& Class, const HString& Value)

static void HSystem::SetSpy(const char* Class, const char* Value)

static void HSystem::SetSpy(const wchar_t* Class, const wchar_t* Value)   (Nur Windows)

static void HOperatorSet.SetSpy(HTuple classVal, HTuple value)

static void HSystem.SetSpy(string classVal, HTuple value)

static void HSystem.SetSpy(string classVal, string value)

Beschreibung

set_spyset_spySetSpySetSpySetSpy 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':)set_spy("mode","on")SetSpy("mode","on")SetSpy("mode","on")SetSpy("mode","on"),

ausgeschaltet mittels

set_spy(::'mode','off':)set_spy("mode","off")SetSpy("mode","off")SetSpy("mode","off")SetSpy("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'"mode""mode""mode""mode" und 'on'"on""on""on""on".

Folgende Überwachungsmodi können (natürlich in beliebiger Kombination) über ClassClassClassClassclassVal/ValueValueValueValuevalue eingestellt werden:

Class Bedeutung / Value

'operator'

Bei Aufruf einer Routine werden deren Name und die Namen ihrer Parameter (in TRIAS Notation) ausgegeben.

Value: 'on' oder 'off'

default: 'off'

'input_control'

Bei Aufruf einer Routine werden die Namen und Werte der Eingabesteuerparameter ausgegeben.

Value: 'on' oder 'off'

default: 'off'

'output_control'

Bei Aufruf einer Routine werden die Namen und Werte der Ausgabesteuerparameter ausgegeben.

Value: 'on' oder 'off'

default: 'off'

'db'

Informationen über die 4 Relationen in der HALCON-Datenbank. Dies ist insbesondere bei der Suche nach vergessenen clear_objclear_objClearObjClearObjClearObj zu suchen.

Value: 'on' oder 'off'

default: 'off'

'parameter_values'

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

'time'

Rechenzeit für die Ausführung des Operators

Value: 'on' oder 'off'

default: 'off'

'log_file'

Umleitung der Textausgabe von spy in ein File, das mit open_file geöffnet wurde.

Value: ein File Handle (siehe open_fileopen_fileOpenFileOpenFileOpenFile)

'error'

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'

'internal'

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.

Achtung

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.

Ausführungsinformationen

Parameter

ClassClassClassClassclassVal (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Überwachungsmodus

Defaultwert: 'mode' "mode" "mode" "mode" "mode"

Werteliste: 'db'"db""db""db""db", 'error'"error""error""error""error", 'input_control'"input_control""input_control""input_control""input_control", 'internal'"internal""internal""internal""internal", 'log_file'"log_file""log_file""log_file""log_file", 'mode'"mode""mode""mode""mode", 'operator'"operator""operator""operator""operator", 'output_control'"output_control""output_control""output_control""output_control", 'parameter_values'"parameter_values""parameter_values""parameter_values""parameter_values", 'time'"time""time""time""time"

ValueValueValueValuevalue (input_control)  string HTupleHTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)

Einzustellender Status des Überwachungsmodus.

Defaultwert: 'on' "on" "on" "on" "on"

Wertevorschläge: 'on'"on""on""on""on", 'off'"off""off""off""off", 1, 2, 3, 4, 5, 10, 50, 0.0, 1.0, 2.0, 5.0, 10.0

Beispiel (C)

/* 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");  

Ergebnis

set_spyset_spySetSpySetSpySetSpy liefert den Wert 2 (H_MSG_TRUE), falls die Parameter korrekt sind. Ansonsten wird eine Fehlerbehandlung durchgeführt.

Vorgänger

reset_obj_dbreset_obj_dbResetObjDbResetObjDbResetObjDb

Siehe auch

get_spyget_spyGetSpyGetSpyGetSpy, query_spyquery_spyQuerySpyQuerySpyQuerySpy

Modul

Foundation