• Navigation überspringen
  • Zur Navigation
  • Zum Seitenende
Organisationsmenü öffnen Organisationsmenü schließen
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
  • FAUZur zentralen FAU Website
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Suche öffnen
  • English
  • Campo
  • StudOn
  • FAUdir
  • Stellenangebote
  • Lageplan
  • Hilfe im Notfall
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
Menu Menu schließen
  • Lehrstuhl
    • Team
    • Aktuelles
    • Kontakt und Anfahrt
    • Leitbild
    • 50-jähriges Jubiläum
    Portal Lehrstuhl
  • Forschung
    • Forschungsbereiche
      • Betriebssysteme
      • Confidential Computing
      • Embedded Systems Software
      • Verteilte Systeme
    • Projekte
      • AIMBOS
      • BALu
      • BFT2Chain
      • DOSS
      • Mirador
      • NEON
      • PAVE
      • ResPECT
      • Watwa
    • Projektkampagnen
      • maRE
    • Seminar
      • Systemsoftware
    Portal Forschung
  • Publikationen
  • Lehre
    • Sommersemester 2025
      • Applied Software Architecture
      • Ausgewählte Kapitel der Systemsoftware
      • Betriebssystemtechnik
      • Projekt angewandte Systemsoftwaretechnik
      • System-Level Programming
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verteilte Systeme
    • Wintersemester 2025/26
      • Systemprogrammierung 2
      • Betriebssysteme
      • Middleware – Cloud Computing
      • Echtzeitsysteme
      • Virtuelle Maschinen
      • Web-basierte Systeme
      • Projekt angewandte Systemsoftwaretechnik
      • Aktuelle Entwicklung in Verteilten und Objektorientierten Betriebssystemen (für Bachelor-/Masterarbeit)
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Extern

Extern

Bereichsnavigation: Lehre
  • Betriebssysteme
    • Vorlesung
      • Folien
    • Übung
      • Seminar
      • Aufgaben
      • Aufgabe 0: C++ Streams
        • Aufgabe 1: Ein-/Ausgabe
          • Aufgabe 2: Unterbrechungen
            • Aufgabe 3: Pro-/Epilog
              • Aufgabe 4: Kontextwechsel
                • Aufgabe 5: Zeitscheiben
                  • Aufgabe 6: Synchronisation
                    • Assembler Crashkurs
                      • C++ Crashkurs
                        • Entwicklungsumgebung
                          • FAQ
                            • Ruhmeshalle

                          Aufgabe 6: Synchronisation

                          Files | Macros
                          Debugging Tools

                          Support debugging of the operating system. More...

                          Files

                          file  state.h
                           GDB_Stub State of the current core
                           
                          file  stub.h
                           GDB_Stub contains the necessary functionality for remote debugging
                           

                          Macros

                          #define STRINGIFY(S)   #S
                           Converts a macro parameter into a string. More...
                           
                          #define assert_size(TYPE, SIZE)    static_assert(sizeof(TYPE) == (SIZE), "Wrong size for " STRINGIFY(TYPE))
                           Statically ensure (at compile time) that a data type (or variable) has the expected size. More...
                           
                          #define assert(EXP)
                           Ensure (at execution time) an expression evaluates to true, print an error message and stop the CPU otherwise. More...
                           
                          #define kernelpanic(MSG)
                           Print an error message in the debug window and stop the current core. More...
                           

                          Detailed Description

                          Support debugging of the operating system.

                          Macro Definition Documentation

                          #define STRINGIFY (   S)    #S

                          Converts a macro parameter into a string.

                          Parameters
                          SExpression to be converted
                          Returns
                          stringified version of S
                          #define assert_size (   TYPE,
                            SIZE 
                          )     static_assert(sizeof(TYPE) == (SIZE), "Wrong size for " STRINGIFY(TYPE))

                          Statically ensure (at compile time) that a data type (or variable) has the expected size.

                          Parameters
                          TYPEThe type to be checked
                          SIZEExpected size in bytes
                          #define assert (   EXP)
                          Value:
                          do { \
                          if (__builtin_expect(!(EXP), 0)) { \
                          assertion_failed(STRINGIFY(EXP), __func__, __FILE__, __LINE__); \
                          } \
                          } while (false)
                          STRINGIFY
                          #define STRINGIFY(S)
                          Converts a macro parameter into a string.
                          Definition: assert.h:18

                          Ensure (at execution time) an expression evaluates to true, print an error message and stop the CPU otherwise.

                          Parameters
                          EXPThe expression to be checked
                          #define kernelpanic (   MSG)
                          Value:
                          do { \
                          DBG << "PANIC: '" << (MSG) << "' in " << __func__ \
                          << " @ " << __FILE__ << ":" << __LINE__ \
                          << flush; \
                          Core::die(); \
                          } while (0)
                          Core::die
                          void die()
                          Permanently halts the core.
                          Definition: core.h:107
                          flush
                          OutputStream & flush(OutputStream &os)
                          Enforces a buffer flush.
                          Definition: outputstream.cc:144

                          Print an error message in the debug window and stop the current core.

                          Parameters
                          MSGerror message
                          Friedrich-Alexander-Universität
                          Erlangen-Nürnberg

                          Schlossplatz 4
                          91054 Erlangen
                          • Impressum
                          • Datenschutz
                          • Barrierefreiheit
                          • Facebook
                          • RSS Feed
                          • Xing
                          Nach oben