Lade...
 

Trace-Modus für Funktionen des CyberEnterprise®

Trace-Modus für Funktionen des CyberEnterprise®

Für einige komplexe Funktionen des CyberEnterprise® kann ein Trace-Modus aktiviert werden.
Die Trace-Ausgabe zeigt vor allem die von der Verarbeitung betroffenen Objekte. 

Zur Zeit kann der Trace-Modus für die Funktion Process() des Transaktionsmanagers und alle Resolve3() - Funktionen der von CX_ALLOCATION abgeleiteten Klassen aktiviert werden.

Die Trace-Information werden immer in ein File geschrieben. Zusätzlich kann man eine Message anmelden und so die Trace-Texte sofort darstellen.

 

Funktionen des Function-Trace-Managers

Name Parameter Rückgabewert  
Enable Funktionsname *) - aktiviert den Trace-Modus für diese Funktion
Disable Funktionsname *) - deaktiviert den Trace-Modus für diese Funktion
SetMessage Message für jede Trace-Ausgabe wird diese Message gefeuert, mit dem Trace-Text als CX_STRING auf dem Stack
FileName MA - mit deser MA-Funktion kann der Filname des Trace-Files dargestellt / geändert werden;
Vorgegeben ist CX_SYSTEMOUT\function.trc

*) zur Zeit unterstützt: "Process" und "Resolve3"


InstantView®-Codebeispiel für die Anwendung des Function-Trace-Managers:

 

Module(funtrace) [ Msg(FUNCTION_TRACE, TRACE_EVENT) Var(traceMgr) INITIALIZE: GetManager(TRACE) -> traceMgr // get function trace manager (TRACE_EVENT) traceMgr Call(SetMessage) // set message FUNCTION_TRACE: OpenWindow(win) ] Window(win, 23, 23, 700, 99, "Function Tracer") { Menu { Item(SELECT_MULTIPLE, "Trace Options") { Item(CHECK_MARK, "CX_TXN_MANAGER::Process()") // toggle trace mode [ SELECT: "Process" traceMgr GetValue if Call(Enable) else Call(Disable) traceMgr FillWindow(, this) // display current state of function trace manager ] Item(CHECK_MARK, "CX_xxxxx_ALLOCATION::Resolve3()") // toggle trace mode [ SELECT: "Resolve3" traceMgr GetValue if Call(Enable) else Call(Disable) traceMgr FillWindow(, this) // display current state of function trace manager ] } } ObjectList(trace, 3, 3, 1, 1) [ INITIALIZE: [ "CX_STRING::this" COLOR BLUE ] SetFormat 1 FillMode TRACE_EVENT: FillObox Refresh // display Trace output ] Statusbar { String(CX_FUNCTION_TRACE_MGR::this, 2, 1, 300) [ // display initial state of function trace manager INITIALIZE: traceMgr FillWindow(, this) ] Attach(this, RIGHT, STRETCH, 2) } Attach(trace, RIGHT, STRETCH, 3) Attach(trace, BOTTOM, STRETCH, 3) } Den Namen des Output-Files ändert man einfach mit: String(CX_FUNCTION_TRACE_MGR::FileName(), 80, 7, 200)