Anwendungsprotokoll
Anwendungsprotokoll Log-Datei des Clients
- Siehe: Log-Viewer
Der Designer erstellt ein Anwendungsprotokoll. Es handelt sich hierbei um eine binäre Log-Datei, welche mit dem Log-Viewer betrachtet werden kann. Optional kann auch beim Starten des Standard- und Advanced-Client das Anwendungsprotokoll gestartet werden. Hierzu muss der Konfigurationseintrag AppLogOptions oder das Kommandozeilenargument C16AppLogOptions den Wert 4 enthalten.
Die Protokolldatei hat den Namen c16_dlgw.lgb. Sofern der aktuell installierte Client verwendet wird, wird sie im Datenverzeichnis des Clients abgelegt, andernfalls wird sie im Pfad des ausgeführten Clients gespeichert.
Bei Netzwerkpfaden, benötigen die Anwender Schreibrechte auf das Client-Verzeichnis, da sonst das Anwendungsprotokoll nicht erstellt werden kann.
Alternativ kann der Pfad des Anwendungsprotokolls wie folgt definiert werden:
- Als Kommandozeilenargument /C16AppLogPath beim Starten des Standard- bzw. Advanced-Client.
- In der Konfigurationsdatei des Standard- bzw. Advanced-Client mit dem Eintrag AppLogPath .
- Als Umgebungsvariable
C16AppLogPath.
Zum Öffnen des Protokolls kann im Designer-Menüpunkt "Extras" der Menüpunkt Anwendungsprotokoll öffnen ausgewählt werden. Das Anwendungsprotokoll kann für die Fehleranalyse sinnvoll sein.
Beim Öffnen der Log-Datei über den Designer-Menüpunkt wird der Log-Viewer zunächst im Verzeichnis des Clients gesucht. Ist er dort nicht vorhanden, wird der über die Setup-Routine installierte Log-Viewer verwendet. Die Reihenfolge ist wichtig, wenn der Log-Viewer nicht auf der Maschine installiert wurde und der Client aus dem Netzwerk gestartet wird, da ohne Log-Viewer das Anwendungsprotokoll nicht angezeigt werden kann.
Folgende Einträge werden protokolliert:
Application started (<Client Typ> <Version> [/ Terminal session])
Dieser Eintrag wird beim Starten des Designers protokolliert. <Client Typ> gibt an, über welchen Client der Designer gestartet wurde:
- Client 3.x
- Standard client
- Advanced client
<Version> ist das CONZEPT 16-Release des gestarteten Clients.
Der Eintrag "Terminal Session" wird nur protokolliert, wenn der Client in einer Terminal-Session läuft.
Die Spalte "ID" benennt die Benutzer-ID.
Application stopped
Dieser Eintrag wird beim Beenden des Clients protokolliert.
Die Spalte "ID" benennt die Benutzer-ID.
System information
Wird unmittelbar nach dem Starten protokolliert und enthält Informationen zum verwendeten Betriebssystem sowie Prozessor und Arbeitsspeicher.
Exception
Unter Windows XP und Windows 2003 werden keine Einträge zu Exceptions generiert.
Folgende Ausnahmetypen gibt es:
-
Vom System generierte Ausnahmen (ab Windows Vista)
- Exception
<System-Code>/ / code-ptr= / module=(<module>) / version=(<version>) / base=(<base-addr>) [/data=(<data>)] Dieser Eintrag wird generiert, wenn der Designer eine unbehandelte Ausnahme generiert, die zum Beenden des Designers führt. Es werden alle Ausnahmen innerhalb der Verarbeitung des Designers protokolliert. Dazu gehören auch Ausnahmen werden der Ausführung von Prozeduren im Designer. Der Designer zeigt vor der Terminierung ein Hinweisfenster mit folgendem Text an: "Die Anwendung verursachte einen Ausnahmefehler und muss beendet werden. Das Anwendungsprotokoll enthält weiterführende Informationen."<System-Code>gibt die Art der Ausnahme an und den zugehörigen Fehlertext: `
- Exception
-
****: Beschreibung
<data>vorhanden? -
INT DIVIDE BY ZERO: Integer-Division durch Null Nein
-
STACK OVERFLOW: Stapelüberlauf Nein
-
ACCESS VIOLATION: Lesender oder schreibender Zugriff auf eine ungültige Speicheradresse optional
-
IN PAGE ERROR: Es wurde versucht auf eine nicht vorhandene Seite im Speicher zuzugreifen optional
gibt die Adresse der Instruktion an, welche zum Auslösen der Ausnahme führte.
<module>ist die ausführbare Datei (DLL oder EXE) in welcher die Ausnahme auftrat. Version liefert (sofern vorhanden) die Version der DLL/EXE und<base-addr>seine Basis-Adresse. Der optionale Eintrag<data>protokolliert folgende Informationen:<data>=<access-kind>/ addr=<access-addr><access-addr>gibt die ungültige Adresse an, auf die versucht wurde zuzugreifen.<access-kind>gibt die Art des Zugriffs an: -
READ: Es wurde versucht, die Adresse zu lesen
-
WRITE: Es wurde versucht, die Adresse zu beschreiben
-
DEP: Es liegt eine Datenausführungsverhinderung vor (Data Execution Prevention)
-
Von der Anwendung generierte Ausnahmen (ab Windows Vista)
- Exception ASSERTION FAILED / file=
<file>/ line=<line>/ proc=<proc>/ proc-line=<proc-line>/ assertion=<assertion>Eine vom Programm angenommene Bedingung ist nicht erfüllt.<file>und<line>geben Datei und Zeile des Quellcodes wider, an der die angenommene Bedingung auftrat.<proc>und<proc-line>geben die Zeile und den Name der Prozedur/Funktion in der CONZEPT 16-Laufzeitumgebung wider.<assertion>ist die fehlgeschlagene Bedingung.
- Exception ASSERTION FAILED / file=
Die Liste der Ausnahmen ist nicht vollständig. Es wurden nur die am häufigsten zu erwartenden Ausnahmen aufgeführt.
Minidump
Tritt eine Exception auf, wird versucht eine Minidump-Datei zu erstellen. Hierbei können folgende Einträge protokolliert werden:
Minidump created successfully [Path=<Path>]
<Path> gibt an, wo die Minidump-Datei abgelegt wurde.
Minidump creation failed (<Text>) [Path=<Path>] [Native result=<Native>]
<Text> gibt Aufschluss über die Operation, die fehlschlug:
- Load debug library failed Die Windows Debug-Library (DBGHELP.DLL) konnte nicht geladen werden.
<Native>enthält den vom System gelieferten nativen Fehlercode. - Write of minidump failed Das Schreiben des Minidump schlug fehl.
<Path>enthält den Dateiname, an dem die Datei abgelegt werden sollte.<Native>enthält den nativen Fehlercode.
Die Liste der Texte ist nicht vollständig. Es wurden nur die am häufigsten zu erwartenden Texte aufgeführt.
Plugin-Schnittstelle
Folgende Einträge werden von der Plugin-Schnittstelle angelegt:
Plugin manager init : ...
Die Plugin-Schnittstelle wurde initialisiert. Es werden Informationen zur Datenbank, Benutzer und Port angegeben.
Connect request
Ein Plugin-Client hat eine Verbindung zum Designer aufgebaut. Der Benutzer muss sich authentifizieren.
... access granted : ...
Einem Plugin-Client wurde der Zugriff gewährt. Es werden der Plugin-Name, der Datenbankname und der Benutzer angegeben.
... access denied : ...
Einem Plugin-Client wurde der Zugriff verweigert. Es werden der Plugin-Name, der Datenbankname und der Benutzer angegeben.
... required argument missing : ...
Bei einem Designer-Befehl wurde ein erwartetes Argument nicht angegeben. Es werden der Plugin-Name und das erwartete Argument angegeben.
... required argument invalid : ...
Bei einem Designer-Befehl wurde bei einem Argument ein ungültiger Wert verwendet. Es werden der Plugin-Name, das Argument und der ungültige Wert angegeben.
... failed to decode/send command : ...
Eine Nachricht konnte nicht gesendet oder dekodiert werden. Es werden der Plugin-Name, Befehlsname und Fehlerwert angegeben.
... command reply mismatch : ...
Antwort passt nicht zum Befehl oder Ereignis. Es werden der Plugin-Name und der Befehlsname angegeben.
... command processing failed : ...
Fehler bei der Ausführung eines Designer-Befehls . Es werden der Plugin-Name, der Fehlerwert und die gesendeten Daten angegeben.