OOStuBS/MPStuBS
|
Enthält Debugmacros, 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 |
Ausgabestrom, welcher in dem der CPU zugeordneten Debugfenster angezeigt wird. Mehr ... | |
Variablen | |
CGA_Stream | dout_CPU0 |
Debugausgabefenster für die CPU 0 Zeigt Ausgaben zur Fehlersuche wie DBG << "Var = " << var << endl in einem separaten Debugfenster für die entsprechende CPU an. Mehr ... | |
CGA_Stream | dout_CPU1 |
Debugausgabefenster für die CPU 1. Mehr ... | |
CGA_Stream | dout_CPU2 |
Debugausgabefenster für die CPU 2. Mehr ... | |
CGA_Stream | dout_CPU3 |
Debugausgabefenster für die CPU 3. Mehr ... | |
Enthält Debugmacros, um Debugausgaben auf einen eigenen Screen umzuleiten.
Für den Uniprozessorfall reicht es ein CGA_Stream Objekt für Debugausgaben (dout) anzulegen.
#define DBG |
Ausgabestrom, welcher in dem der CPU zugeordneten Debugfenster angezeigt wird.
dout_CPUx
angelegt werden.Während dies in OOStuBS nur ein Alias auf dout
ist, ist der Fall für die Mehrprozessorvariante etwas komplexer:
Das Debugmacro wählt den Ausgabestream durch Aufruf der anonymen, im Makro selbst definierten Funktion aus. Dieser durchaus umständliche Weg (im Vergleich zu Inline Funktionen) ist notwendig, damit in den nachfolgend inkludierten Dateien selbst das Debug Makro verwendet werden kann
#define DBG_VERBOSE nullstream |
Stream, welche nur im Verbose-Modus im Debugfenster angezeigt wird.
CGA_Stream dout_CPU0 |
Debugausgabefenster für die CPU 0 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 Objekt je CPU mit dem Namen dout_CPUx
notwendig
Dieses sollte im Idealfall überschneidungsfrei unterhalb des normalen Ausgabefensters liegen und mindestens 3 Zeilen lang sein. Zwei Debugfenster können problemlos nebeneinander liegen.
CGA_Stream dout_CPU1 |
CGA_Stream dout_CPU2 |
CGA_Stream dout_CPU3 |