================================ Debugging-commands in the script ================================ .. role:: red Befehle, die die Skript-Programmierung vereinfachen oder die Fehlersuche erleichtern. Deaktivieren von Skript-Teilen ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **Block-Kommentierung** +----------+-----------------------+ | ``--[[`` | Blockkommentar Beginn | +----------+-----------------------+ | ``--]]`` | Blockkommentar Ende | +----------+-----------------------+ Beispiel für einen auskommentierten, inaktiven Skript-Teil .. sourcecode:: lua --[[ run_models("pm_sym_fast"); post_models("r_torque", "T") --]] Debugging-Befehle ^^^^^^^^^^^^^^^^^ Siehe hierzu auch Befehle des Abschnitts :any:`script-exe`. .. admonition:: Command: debug.fsl() Unterbricht die Skriptausführung und aktiviert den interaktiven Debugger, **Example:** .. sourcecode:: lua nc_line_cont(x[11], y[11], 0) nc_line_cont(x[2], y[2], 0) -- DEBUGGING debug.fsl() -- activate the FSL debugger debug() -- ... deprecated since FEMAG version 8.4 create_mesh_se(Da/2-hj/2, 0+hj/2) .. admonition:: Command: set_break(Z) Setzt Haltepunkt auf die angegebene Zeile, **Parameter** :red:`Z` Zeilennummer oder here für die aktuelle Zeile (Angabe "here" in Anführungszeichen ist zu bevorzugen). **Example:** .. sourcecode:: lua nc_circle(x[1], y[1], x[2], y[2], 360/P/agnp+1) nc_circle(x[3], y[3], x[4], y[4], 0) nc_circle(x[5], y[5], x[6], y[6], 0) nc_circle(x[7], y[7], x[8], y[8], 0) -- DEBUGGING sleep(3) -- wait for 3 seconds set_break(157) -- set breakpoint at line 157 nc_line(x[7], y[7], x[5], y[5], 0) nc_line_cont(x[3], y[3], 0) **Example:** .. sourcecode:: lua x0,y0 = pd2c(Di/2-ag*2/3, 360*Pm/P) x1,y1 = pd2c(Di/2-ag/3, 360*Pm/P) nc_line(x0, y0, x1, y1, 0) -- DEBUGGING set_break("here") -- set breakpoint here create_mesh_se(Di/2-ag/2, ag) Befehle zur grafischen Ausgabe ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **Bemerkungen** Punkt- oder Farbattribute sollten in aktuellen FEMAG-Versionen in Form von Zeichenketten angegeben werden, z. B. "red" anstatt red. .. admonition:: Command: point(x1, y1, color, type) Stellt einen Punkt im Grafikfenster dar **Parameter** | :red:`x1/y1` Koordinaten | :red:`color` Farbe ("red", "green", "blue", "black", ... ) | :red:`type` Typ (1, "dot", "." oder 2, "cross", "x" oder 3, "star", "*" oder 4, "circle", "o" ...) **Beispiel** .. sourcecode:: lua point(3.5, 9.7, red, 1) -- deprecated version point(3.5, 9.7, "red", "dot") -- to prefer point(3.5, 9.7, "red", ".") -- ... with symbolic point-type specifier .. admonition:: Command: line(x1, y1, x2, y2, color) Stellt eine Gerade im Grafikfenster dar **Parameter** | :red:`x1/y1` Koordinaten Anfang | :red:`x2/y2` Koordinaten Ende | :red:`color` Farbe (red, green, blue, black, ... ) .. admonition:: Command: text(x1, y1, "Text", color, size) Stellt den angegebenen Text im Grafikfenster dar **Parameter** | :red:`x1/y1` Koordinaten | :red:`Text` Auszugebender Text | :red:`color` Farbe (red, green, blue, black, ...) | :red:`size` Größe **Example:** .. sourcecode:: lua nc_line_cont(x[11], y[11], 0) nc_line_cont(x[2], y[2], 0) -- DEBUGGING point(x[2], y[2], "red", ".") -- Ausgaben im Grafikfenster zur Überprüfung text(x[2], y[2], "P2", "red", 1) -- charakteristischer Geometriepunkte point(x[11], y[11], "red", ".") text(x[11], y[11], "P11", "red", 1) line(x[11], y[11], x[2], y[2], "red") debug.fsl() -- Aktiviere Debugger