| 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) |