Arbeiten mit TwinCAT Task Dumps
![]() | Ab TwinCAT 3.1 Build 4026 Diese Funktion steht ab TwinCAT 3.1 Build 4026 bereit. |
Die TwinCAT Runtime schreibt bei Auftreten einer Exception automatisch „TwinCAT Task Dumps“ in das Boot-Verzeichnis (üblicherweise C:\ProgramData\Beckhoff\TwinCAT\3.1\Boot), wenn diese nicht von der Anwendung behandelt wird.
Diese Task Dumps können vom TwinCAT C++ Entwickler auf ein Entwicklungssystem mit Visual Studio für TwinCAT C++ Entwicklung übertragen und ausgewertet werden.
Für die Untersuchung ist es erforderlich, dass neben dem TwinCAT Task Dumps auch die exakt zugehörige TMX und PDB Datei vorliegt.
Wird der TwinCAT Task Dump direkt aus der passenden Solution geladen, werden diese Dateien automatisch gefunden. Wird der TwinCAT Task Dump aus einer leeren Solution geladen, können die zugehörigen TMX und PDB Dateien in dasselbe Verzeichnis des TwinCAT Task Dumps gelegt werden. Alternativ ist es möglich einen Suchpfad in den Visual Studio Optionen einzutragen (Tools->Options->Debugging->Symbols: add new Path to Symbol file (.pdb) locations).
Der Ablauf ist dann wie folgt:
- Eine Exception ist auf dem Zielsystem aufgetreten.
- 1. Die TwinCAT Task Dump Datei wird von dem Zielsystem auf das Engineering System übertragen. Sie trägt einen Namen wie taskmemory-*.dmp
- 2. Im Idealfall stehen die passenden Quellen des TwinCAT Projektes bereit und werden im Visual Studio geöffnet.
- 3. Über File->Open->Open TcTaskDump kann die Datei geöffnet werden:

- 4. Der Editor springt direkt an die passende Codestelle, die die Exception ausgelöst hat:

Zusätzlich können übliche Fenster im Visual Studio verwendet werden, um beispielsweise Variablen-Werte zu kontrollieren:

