Lpc Manpages

GESCHUETZT
SYNOPSIS
        #include <trace.h>

        int trace(int traceflags)

BESCHREIBUNG
        Setzt die Trace Flags und liefert die alten Trace Flags zurueck.
        Wenn Tracing eingeschaltet ist, wird waehrend der Ausfuehrung eine
        Menge Informationen ausgegeben. Zu viel Output kann die Verbindung
        lahm legen oder sogar den ganzen Treiber zum Absturz bringen.

        Tracing erfolgt auf einer Pro-Verbindung-Basis: jeder interaktive (!)
        User kann sein eigenes Tracelevel und -praefix festlegen. Jeder
        erhaelt nur den Traceoutput fuer den Code, der waehrend der
        Auswertung eines vom User eingegeben Kommandos ausgefuehrt wird.

        Die Trace-Bits (aus <trace.h>) sind:

            TRACE_NOTHING       (  0): Beendet das Tracing
            TRACE_CALL          (  1): Tracet alle Aufrufe von Lfuns
            TRACE_CALL_OTHER    (  2): Tracet alle call_other() Aufrufe
            TRACE_RETURN        (  4): Tracet Resultate von Funktionen
            TRACE_ARGS          (  8): Gibt Argumente und Resultate von
                                       Funktionen aus
            TRACE_EXEC          ( 16): Tracet alle ausgefuehrten Anweisungen
            TRACE_HEART_BEAT    ( 32): Tracet den Heartbeat Code
            TRACE_APPLY         ( 64): Tracet Treiber-Applies
            TRACE_OBJNAME       (128): Gibt den Namen des Objektes aus

        TRACE_EXEC und TRACE_HEART_BEAT sollten nicht verwendet werden, weil
        sie massiven Output verursachen. TRACE_OBJNAME sollte nicht verwendet
        werden, wenn bekannt ist, welches Objekt getracet wird.

        Die Master-Lfun valid_trace() wird mit ("trace", traceflags)
        aufgerufen, um die Erlaubnis fuer die Nutzung von trace() zu erhalten.

BEISPIELE
        object obj;
        string prefix;
        obj = find_player("thomas");
        prefix = object_name(obj);  /* z.B. /std/player#69         */
        prefix = prefix[1..];       /* entfernt den fuehrenden "/" */
        traceprefix(prefix);
        /* Von hier an wird nur Code im Objekt std/player#69 getracet */
        trace(TRACE_CALL|TRACE_CALL_OTHER|TRACE_RETURN|TRACE_ARGS);
        ...
        trace(TRACE_NOTHING);

GESCHICHTE
        LDMud 3.2.9 uebergibt auch <traceflags> an valid_trace().

SIEHE AUCH
        traceprefix(E)