
Enthält Debugmakros, um Debugausgaben auf einen eigenen Screen umzuleiten. Mehr ...
Makrodefinitionen | |
#define | DBG_VERBOSE nullstream |
Stream, welche nur im Verbose-Modus im Debugfenster angezeigt wird. Mehr ... | |
#define | DBG dout[System::getCPUID()] |
Ausgabestrom, welcher in dem der CPU zugeordneten Debugfenster angezeigt wird. Mehr ... | |
Variablen | |
CGA_Stream | dout [CPU_MAX] |
Debugausgabefenster für die jede Zeigt Ausgaben zur Fehlersuche wie DBG << "var = " << var << endl in einem separaten Debugfenster für die entsprechende CPU an. Mehr ... | |
Enthält Debugmakros, um Debugausgaben auf einen eigenen Screen umzuleiten.
Für den Uniprozessorfall reicht es ein CGA_Stream Objekt für Debugausgaben (dout) anzulegen.
#define DBG dout[System::getCPUID()] |
Ausgabestrom, welcher in dem der CPU zugeordneten Debugfenster angezeigt wird.
Während dies in OOStuBS nur ein Alias auf dout
ist, muss in der Mehrprozessorvariante für jede CPU ein Objektarray für Debugausgaben mit dem Namen dout[]
angelegt werden; die Auswahl erfolgt über System::getCPUID()
#define DBG_VERBOSE nullstream |
Stream, welche nur im Verbose-Modus im Debugfenster angezeigt wird.
CGA_Stream dout[CPU_MAX] |
Debugausgabefenster für die jede Zeigt Ausgaben zur Fehlersuche wie DBG << "var = " << var << endl
in einem separaten Debugfenster für die entsprechende CPU an.
Während für OOStuBS nur ein Objekt dout
angelegt werden muss, ist bei MPStuBS ein Objektarray mit einem Fenster je CPU notwendig – in diesem Fall kann die direkte Listeninitialisierung verwendet werden:
Die Debugfenster sollen überschneidungsfrei unterhalb des normalen Ausgabefensters liegen und mindestens 3 Zeilen lang sein. Zwei Debugfenster können problemlos nebeneinander liegen.
Als Erweiterung kann man die Verteilung auch automatisch (nach Anzahl der CPUS) machen lassen, dann reicht der Standardkonstruktor (ohne Parameter) aus.