OOStuBS/MPStuBS
Debugging Tools

Unterstützung bei der Entkäferung des Betriebssystems. Mehr ...

Klassen

class  GDB_Stub
 GDB Remote Stub KlasseDiese Klasse ermöglicht ein entferntes Debuggen des Betriebssystems mit GDB auf echter Hardware (aber auch im Emulator), in dem sie einen Teil des GDB Remote Serial Protocols (RSP) implementiert, eigene Unterbrechungsbehandlungsroutinen für Traps installiert und über die serielle Schnittstelle kommuniziert. Mehr ...
 
class  Null_Stream
 Die Klasse Null_Stream ignoriert alle mittels Streamoperator übergebenen Daten. Mehr ...
 

Makrodefinitionen

#define STRINGIFY(S)   #S
 Wandle den Makroparameter in eine Zeichenkette um. Mehr ...
 
#define assert_size(TYPE, SIZE)   static_assert(sizeof(TYPE) == (SIZE), "Wrong size for " STRINGIFY(TYPE))
 Prüfe zur Übersetzungszeit, ob ein Datentyp (oder Variable) die vorgegebene statische Speichergröße besitzt. Mehr ...
 
#define assert(EXP)
 Prüfe, ob ein Ausdruck korrekt ist, oder gib eine Fehlermeldung aus und stoppe die CPU. Mehr ...
 
#define kernelpanic(MSG)
 Gebe eine Fehlermeldung aus und stoppe die CPU. Mehr ...
 

Ausführliche Beschreibung

Unterstützung bei der Entkäferung des Betriebssystems.

Makro-Dokumentation

◆ assert

#define assert (   EXP)
Wert:
do { \
if (__builtin_expect(!(EXP), 0)) { \
assertion_failed(STRINGIFY(EXP), __func__, __FILE__, __LINE__); \
} \
} while(0)
#define STRINGIFY(S)
Wandle den Makroparameter in eine Zeichenkette um.
Definition: assert.h:20

Prüfe, ob ein Ausdruck korrekt ist, oder gib eine Fehlermeldung aus und stoppe die CPU.

Parameter
EXPzugesicherter (zu prüfender) Ausdruck

◆ assert_size

#define assert_size (   TYPE,
  SIZE 
)    static_assert(sizeof(TYPE) == (SIZE), "Wrong size for " STRINGIFY(TYPE))

Prüfe zur Übersetzungszeit, ob ein Datentyp (oder Variable) die vorgegebene statische Speichergröße besitzt.

Parameter
TYPEzu prüfender Datentyp
SIZEerwartete Speichergröße in Bytes

◆ kernelpanic

#define kernelpanic (   MSG)
Wert:
do { \
DBG << "PANIC: '" << (MSG) << "' in " << __func__ \
<< " @ " << __FILE__ << ":" << __LINE__ << ") - CPU stopped." \
<< endl; \
} while(0)
O_Stream & endl(O_Stream &os)
Fügt einen Zeilenumbruch in die Ausgabe ein und löst ein Leeren (Flush) des Puffers aus...
Definition: o_stream.cc:139
static void die()
Prozessor dauerhaft anhalten.
Definition: cpu.h:103

Gebe eine Fehlermeldung aus und stoppe die CPU.

Parameter
MSGanzuzeigende Fehlermeldung

◆ STRINGIFY

#define STRINGIFY (   S)    #S

Wandle den Makroparameter in eine Zeichenkette um.

Parameter
SUmzuwandelnder Ausdruck
Rückgabe
Ausdruck als Zeichenkette