Fehleranalyse mit Core Dump

Ein Core Dump ist ein Speicherauszug der SPS-Projektdaten.

Fehleranalyse mit Core Dump 1:

Verfügbar ab TC3.1 Build 4024.11

Fehleranalyse mit Core Dump 2:

Core Dump nur nutzbar mit zugehöriger Compile-Info-Datei

Wenn Sie eine Core-Dump-Datei archivieren oder abspeichern, beachten Sie, dass zum Laden eines Core Dumps das zugehörige Projekt und die zugehörige Compile-Info-Datei (*.compileinfo-Datei, die z.B. beim Erstellen des Projekts im „_CompileInfo“-Ordner abgelegt wird) vorliegen müssen. Falls dies nicht der Fall ist, kann TwinCAT den Dump später nicht mehr verwenden.

Beachten Sie hierzu auch die Einstellungsmöglichkeiten auf der Registerkarte Settings. Mit Hilfe der Einstellung Core Dump können Sie konfigurieren, ob die Core-Dump-Datei, die sich möglicherweise im Projektverzeichnis befindet, zusammen mit den verfügbaren Compile-Info-Dateien in einem TwinCAT-Dateiarchiv gespeichert werden soll.

Erzeugen eines Core Dumps

1) Automatische Erzeugung

Laufzeitsysteme legen im Fall eines Ausnahmefehlers automatisch einen Core Dump auf dem Zielsystem ab, wenn das zugehörige SPS-Projekt gerade nicht in einer Entwicklungsumgebung eingeloggt ist. Dieser Core Dump wird standardmäßig als *.core-Datei im Boot-Ordner des Zielsystems abgelegt. Weitere Informationen zum (einstellbaren) Speicherpfad finden Sie unten. Die automatische Erzeugung eines Core Dumps erfolgt auch dann, wenn der Ausnahmefehler innerhalb des Codes einer FB_init-/FB_reinit-/FB_Exit-Methode auftritt (ab TC3.1 Build 4024.25).

Fehleranalyse mit Core Dump 3:

Warnmeldung, wenn Core Dump auf Zielsystem verfügbar ist

Wenn Sie ein SPS-Projekt einloggen und auf dem ausgewählten Zielsystem ein Core Dump vorliegt, wird im Meldungsfenster eine Warnung ausgegeben, dass auf dem Gerät ein Core Dump verfügbar ist.

Wenn die Warnung beim Einloggen des Projekts nicht mehr ausgegeben werden soll (z. B. weil Sie die Analyse dieser Core Dump-Datei abgeschlossen haben oder weil Sie die Datei anderweitig archiviert haben), können Sie die entsprechende Core-Dump-Datei vom Zielsystem löschen.

2) Manuelle Erzeugung

Im Onlinebetrieb können Sie auch explizit einen Core Dump erzeugen lassen, wenn das SPS-Projekt gerade an einem Haltepunkt steht oder ein Ausnahmefehler aufgetreten ist. In diesem Fall legt TwinCAT die Core-Dump-Datei nur im Projektverzeichnis und nicht auf dem Zielsystem ab. Die erzeugte Core-Dump-Datei wird direkt im SPS-Projektverzeichnis abgelegt (<SPS-Projektname>.<SPS-Projekt-GUID>.core).

Laden eines Core Dumps

Im Onlinebetrieb können Sie den Core Dump vom Zielsystem ins Projektverzeichnis laden (mit dem Befehl Core Dump erzeugen). Außerdem können Sie im Offlinebetrieb einen Core Dump vom Projektverzeichnis ins Projekt laden (mit dem Befehl Core Dump laden). Sie erhalten dann eine Onlineansicht des SPS-Projekts mit den Daten und Werten zum Zeitpunkt des Ausnahmefehlers bzw. zum Zeitpunkt des Erzeugens der Core-Dump-Datei.

Fehleranalyse mit Core Dump 4:

In der Onlineansicht, die TwinCAT beim Laden des Core Dumps ins Projekt erzeugt, erscheinen Menübefehle als verfügbar, die in diesem Status nicht wirksam sind. Bei Anwählen eines solchen Befehls erhalten Sie eine entsprechende Meldung.

Außerdem können Sie die Core-Dump-Ansicht nur über den Befehl Core Dump schließen wieder schließen. Der Befehl Ausloggen ist in dieser Ansicht nicht wirksam.

Archivierung

Wenn die Core-Dump-Datei, die sich im Projektverzeichnis befindet, im Projektarchiv enthalten sein soll, aktivieren Sie die Option „Core Dump“ bei der Konfiguration des File-Archiv-Inhalts (siehe Dokumentation Referenz Benutzeroberfläche > Projekt > SPS-Projekteinstellungen > Registerkarte Settings).

Speicherpfad für die automatische Erstellung

Fehleranalyse mit Core Dump 5:

Verfügbar ab TwinCAT 3.1 Build 4026

Voreinstellung:

Automatisch erzeugte Core Dumps werden als *.core-Datei standardmäßig im Boot-Ordner des Zielsystems abgelegt. Dieser befindet sich standardmäßig unter:

Individuelle Anpassung:

Wenn gewünscht, kann der Speicherpfad der automatischen Core-Dump-Erstellung angepasst werden. Dafür muss der gewünschte Speicherpfad in die Windows Registry des Zielsystems eingetragen werden.

1. Öffnen Sie den folgenden Registry-Pfad auf dem Zielsystem:
2. Falls der Ordner „Plc” noch nicht existiert, fügen Sie ihn hinzu.
3. Fügen Sie den Schlüssel „CoreDumpDir“ als String hinzu und tragen Sie als Wert den gewünschten Dateipfad für die automatische Core-Dump-Erstellung ein.
4. Setzen Sie TwinCAT in Config.
Bei dem nächsten Zustandswechsel von TwinCAT in Run wird der Pfad aktiviert.

Nachfolgend sind zwei beispielhafte Arbeitsabläufe beschrieben.

Core Dump zur Analyse vom Zielsystem ins Projekt laden

Voraussetzung:

Mit der Entwicklungsumgebung haben Sie das Projekt geöffnet, das auf dem Zielsystem einen Ausnahmefehler produziert hat. Das SPS-Projekt befindet sich in der Entwicklungsumgebung im Onlinebetrieb.
1. Laden Sie mit dem Befehl Core Dump erzeugen den Core Dump vom Zielsystem.
⇒ TwinCAT kopiert die Core Dump-Datei mit der Benennung <SPS-Projektname>.<SPS-Projekt-GUID>.core ins lokale SPS-Projektverzeichnis.
2. Loggen Sie das SPS-Projekt aus.
3. Laden Sie mit dem Befehl Core Dump laden den gewünschten Core Dump ins Projekt.
⇒ TwinCAT stellt eine Onlineansicht des SPS-Projekts dar. Sie sehen die Variablenwerte und Aufrufliste zum Fehlerzeitpunkt.
4. Nach Abschluss der Core-Dump-Analyse wählen Sie den Befehl Core Dump schließen.
TwinCAT schließt die Core-Dump-Ansicht des SPS-Projekts. Die Entwicklungsumgebung erscheint wieder mit den Ansichten des normalen Offlinebetriebs.

Manuelles Erzeugen eines Core Dumps des eingeloggten SPS-Projekts

Ein SPS-Projekt befindet sich in der Entwicklungsumgebung im Onlinebetrieb. Das SPS-Projekt steht gerade an einem Haltepunkt oder es ist ein Ausnahmefehler aufgetreten.
1. Wählen Sie den Befehl Core Dump erzeugen.
TwinCAT erzeugt einen neuen Core Dump und legt die Datei mit dem Namen <SPS-Projektname>.<SPS-Projekt-GUID>.core im lokalen SPS-Projektverzeichnis an.

Siehe auch: