Für den Administrator, Programmierung

Hilfe nach dem Crash

Crash

Software ist nicht fehlerfrei. Selbst bei größter Sorgfalt kann es zu einem sogenannten Programmabsturz kommen. In einem solchen Fall ist es wichtig mehr Informationen über den „Unfall-Hergang“ zu bekommen.

Einleitung

Ein Programmabsturz liegt vor, wenn das Betriebssystem einen unerlaubten Zugriff auf eine Betriebssystem-Ressource feststellt. Dies kann z.B. ein lesender oder schreibender Zugriff auf eine Adresse im Arbeitsspeicher sein, der von der Anwendung zuvor nicht reserviert wurde. In einem solchen Fall wird die Anwendung vom Betriebssystem terminiert. Meistens begleitet durch eine Meldung (Abb. 1).

Application ErrorAbb. 1: Programmabsturz unter Windows 7.

Für die Findung der Fehlerursache ist diese Meldung nicht besonders hilfreich. Hier bietet CONZEPT 16 ein anderes Mittel an, dass häufig mehr Informationen liefert.

Minidump

Bevor sich die Anwendung durch einen Programmabsturz terminiert, besteht unter Windows die Möglichkeit ein sogenanntes Minidump zu erzeugen. Hierbei handelt es sich um eine Datei, die bestimmte Informationen enthält, die für die Findung der Fehlerursache sehr bedeutend sind. Zum Beispiel wird ein Auszug des Call-Stacks (Funktionsaufrufe) festgehalten.

Wenn wir bei einem Programmabsturz diesen Minidump von Ihnen erhalten, lässt sich die Fehleranalyse oft erheblich beschleunigen.

Dateiname

Der Dateiname des Minidumps hat die Form

<Modulname>_<Version>_<JJJJMMTTHHMMSS>.mdmp.

Bei dem Modulnamen handelt es sich um das CONZEPT 16-Modul, welches zum Absturz führte. Die Version gibt die CONZEPT 16-Version (ohne Sub-Revision) des Moduls an. Daran anschließend finden sich Datum und lokale Uhrzeit der Erstellung des Minidumps.

Bei einem Absturz des 64-Bit SOA-Task mit der CONZEPT 16-Version 5.7.04b (b ist hier die Sub-Revision) am 5. August 2013 um 09:38:15 würde der Dateiname wie folgt aussehen:

c16_soa_tsk_w64_5704_20130805093815.mdmp

Verzeichnis

Die Datei wird im Verzeichnis für temporäre Dateien abgelegt, welches wiederum durch die von Windows vordefinierten Systemvariablen TMP und TEMP bestimmt wird.

Den Ordner öffnen Sie am einfachsten, indem Sie die Windows-Taste und R drücken. Im darauffolgenden Fenster geben Sie einfach %temp% ein und bestätigen Ihre Eingabe mit der Enter-Taste (Abb. 2).

AusführungAbb. 2: Anzeige des Ordners für temporäre Dateien
Unterstützte Module

Die Module, die einen Minidump generieren beschränken sich aktuell auf Datenbankserver, SOA-Service und Laufwerkstreiber. Anders als beim Standard- oder Advanced-Client, wo die Schritte bis zu einem Absturz oft reproduziert werden können, ist dies bei den Modulen ohne Benutzeroberfläche nicht so einfach möglich. Deshalb ist hier der Einsatz von Minidumps besonders vorteilhaft.

UPDATE:

CONZEPT 16-Client:

Ab der Version 5.8.09 kann auch der CONZEPT 16-Client Minidump-Dateien erzeugen, sofern das Anwendungsprotokoll aktiviert ist oder die Applikation aus dem CONZEPT 16-Designer heraus gestartet wurde.

SOA-Task und Druckprozessor:

Ab der Version 5.8.11 kann beim SOA-Task mit grafischer Erweiterung (c16_proc_extended = Y) und beim Druckprozessor die Generierung von Minidumps aktiviert werden.

2 Kommentare

2 Kommentare “Hilfe nach dem Crash”

Kommentar abgeben