ct_ffdc.h file
Zweck
Stellt Datentypen, Definitionen und Schnittstellenprototypen für die FFDC-C-Bibliotheksschnittstellen (FFDC = First Failure Data Capture) bereit.
Beschreibung
Diese Headerdatei muss von allen Quellcodedateien der Programmiersprache C und C++ eingeschlossen werden, die die First Failure Data Capture-C-Sprachschnittstellen verwenden. Diese Datei enthält die Prototypen der Programmiersprache C für die FFDC-Schnittstellen, die symbolischen Konstanten, die als Rückgabecodes von diesen Schnittstellen verwendet werden, und Datentypdefinitionen, die von FFDC-und C + + -Clients benötigt werden.
Steuerelement für die Auswahl der C-Sprachschnittstelle
Diese Datei enthält die Compilerdefinition FC-VERSION. Diese Definition steuert, welche Version der FFDC-Schnittstellen während der Kompilierung des Quellcodes verwendet werden soll. Derzeit ist nur eine Version der FFDC-Schnittstelle verfügbar und der Wert von FC-VERSION ist auf den Standardwert 1 gesetzt. Zukünftige Versionen der First Failure Data Capture-Schnittstellen können während der Kompilierung verwendet werden, wenn sie verfügbar werden, indem der Wert für FC-VERSION in der Kompilierungsbefehlszeile festgelegt wird. Wenn diese Variable während der Kompilierung nicht festgelegt wird, wird der Wert für FC-VERSION auf den Standardwert 1 zurückgesetzt und die ursprüngliche Version der FFDC-Schnittstellen verwendet.
Datentypen
Der von diesem Modul definierte Fc_eid_t -Datentyp wird verwendet, um eine FFDC-Fehler-ID zu speichern. Diese ID wird von den Schnittstellen fc_push_stack und FC-Protokollfehler erstellt, wenn diese Schnittstellen Fehlerinformationen erfolgreich aufzeichnen. Diese ID enthält Informationen in codierter Form, die das System, auf dem der Datensatz erstellt wurde, die Zeit, zu der der Datensatz erstellt wurde und die Position des Datensatzes angeben. First Failure Data Capture-Befehle wie Fcreport und 'fcstkrpt' können zu einem späteren Zeitpunkt verwendet werden, um den genauen Fehlerbericht für die Fehlerbestimmung abzurufen.
Codes für Einrichtung der FFDC-Umgebung
Eine FFDC-Clientanwendung verwendet die Schnittstelle FC-Initialisierung , um anzugeben, wie die FFDC-Umgebung eingerichtet werden soll. Die folgenden Auswahlmöglichkeiten werden unterstützt:
- FC_PROTOKOLL
Es wird eine FFDC-Basisumgebung eingerichtet, die es der Anwendung ermöglicht, Fehlerinformationen im AIX® -Fehlerprotokoll und BSD-Systemprotokoll aufzuzeichnen. Ein FFDC-Fehlerstack wird in diesem Fall nicht für die Verwendung durch die Anwendung eingerichtet, es sei denn, dieser Wert wird mit den unten beschriebenen Optionen FC_STACK_CREAT oder FC_STACK_INHERIT kombiniert. Diese Auswahl wird nur von Anwendungen verwendet, die die Schnittstelle fc_log_error nutzen.
- FC_STACK_CREAT
Erstellt eine FFDC-Fehlerstackumgebung, wenn noch keine von einem Vorgänger dieses Prozesses erstellt wurde, oder übernimmt die FFDC-Fehlerstackumgebung, wenn ein Vorgänger zuvor erstellt wurde. Die FFDC-Fehlerstackumgebung ermöglicht der Anwendung, Informationen im AIX -Fehlerprotokoll, im BSD-Systemprotokoll und im FFDC-Fehlerstack aufzuzeichnen. Diese Auswahl wird von Anwendungen verwendet, die die Schnittstelle fc_push_stack sowie die Schnittstelle FC-Protokollfehler verwenden wollen. Diese Auswahl darf nicht mit der im Folgenden beschriebenen Option FC_STACK_INHERIT kombiniert werden.
- FC_STACK_ÜBERNEHMEN
FFDC-Fehlerstackumgebung nur übernehmen, wenn ein übergeordneter Prozess zuvor eine FFDC-Fehlerstackumgebung eingerichtet hat. Wenn ein Vorfahre keine solche Umgebung eingerichtet hat, verwendet die Anwendung keinen FFDC-Fehlerstack, kann jedoch das AIX -Fehlerprotokoll und das BSD-Systemprotokoll verwenden. Kombinieren Sie diese Auswahl nicht mit der zuvor angegebenen Option FC_STACK_CREAT .
Satztypdefinitionen
In dieser Datei sind sieben FFDC-Ereignistypen angegeben. Diese Ereignistypen werden verwendet, um die FC-Protokollfehler -Schnittstelle über den Schweregrad der protokollierten Bedingung zu informieren:
- FFDC_EMERG
Es ist ein schwerwiegender Fehler aufgetreten und es besteht die Gefahr, dass das System offline geht. Diese Informationen werden vom Systemadministrator benötigt, um das System wieder online zu schalten. Das Äquivalent für den AIX -Fehlerprotokolltyp ist PEND. Die BSD-Systemprotokollpriorität ist LOG_EMERG.
- FFDC_FEHLER
Es ist ein permanenter Fehler aufgetreten, und die Bedingung bleibt bestehen, bis sie behoben ist. Es besteht keine Gefahr, dass das System offline geht. Die Entsprechung für den AIX -Fehlerprotokolltyp ist PERM. Die BSD-Systemprotokollpriorität ist LOG_ERR.
- FFDC_STATUS
Ein Ereignis mit einer gewissen Signifikanz ist aufgetreten, aber das Ereignis stellt keine Fehlerbedingung dar. Das Äquivalent für den AIX -Fehlerprotokolltyp ist INFO. Die BSD-Systemprotokollpriorität ist LOG_NOTICE.
- FFDC_PERF
Es wurde eine Bedingung festgestellt, die die Systemleistung unter ein akzeptables Maß herabsetzen kann oder wird. Das System ist nicht in Gefahr, offline zu gehen, aber die Leistung kann inakzeptabel langsam sein, was zu zufälligen Fehlern in Systemanwendungen wie Zeitlimitüberschreitungen führen kann. Die Entsprechung für den AIX -Fehlerprotokolltyp ist PERF. Die BSD-Systemprotokollpriorität ist LOG_WARNING.
- FFDC_TRACE
Dieser Eintrag gibt den Namen und die Position einer von einer Anwendung oder Systemkomponente generierten Tracedatei an. Ein solcher Eintrag wird erstellt, wenn ein Trace in einer Anwendung oder Komponente aktiviert wurde, um anzuzeigen, wo sich die Tracedatei befindet. Das Äquivalent für den AIX -Fehlerprotokolltyp ist UNKN. Die BSD-Systemprotokollpriorität ist LOG_INFO.
- FFDC_RECOV
Eine Wiederherstellungsaktion wurde vom System als Antwort auf eine Bedingung FFDC_EMERG, FFDC_ERRORoder FFDC_PERF erfolgreich ausgeführt. Ein solcher Eintrag würde erstellt werden, wenn eine FFDC_EMERG-, FFDC_ERROR-oder FFDC_PERF -Bedingung erkannt wurde und eine Wiederherstellungsaktion als Antwort auf diese Bedingung erfolgreich ausgeführt wurde. Der AIX -Fehlerprotokolltyp ist TEMP. Die BSD-Systemprotokollpriorität ist LOG_DEBUG.
- FFDC_DEBUG
Es wurde eine Fehlerbedingung festgestellt. Im Gegensatz zum FFDC_ERROR -Fall ist der Fehler keine permanente Bedingung oder das System kann erfolgreich mit der vorhandenen Bedingung fortfahren. Das Äquivalent für den AIX -Fehlerprotokolltyp ist UNKN. Die BSD-Systemprotokollpriorität ist LOG_DEBUG.
Beispiele
#include <rsct/ct_ffcd.h>Position
/opt/rsct/include/ct_ffdc.h
/usr/include/rsct/ct_ffdc.h