Wie Programmfehler überwacht werden, hängt von dem Computerprogramm und dem Programmierer , aber die meisten Implementierungen Sprache gehört die Herstellung von Dump-Dateien . Diese Dateien enthalten Aufzeichnungen von dem, was den Status des Programms war im Moment des Scheiterns, und bieten Hinweise , was schief gelaufen intern . Abhängig von der Art des Fehlers , und ob es in der Ausführung von Methoden oder in einem Leck von Speicher aus dem Heap aufgetreten , verwenden Programmierer einen Thread-Dump -Datei oder einen Haufen Dump-Datei , um die wichtigsten Informationen zu extrahieren. Core- Dumps und Dump Files
A Dump-Datei repräsentiert , was der Name schon sagt . Wenn ein Computer-Programm abstürzt oder sonst ungewöhnlich verhält , kann das System " Dump " einen Core-Dump -Datei. Diese Datei enthält alle Informationen über den Zustand des Programms zum Zeitpunkt des Zusammenbruchs. Eine Art " post mortem " Blick auf das Programm , ermöglicht dieses Artefakt Programmierer , um die Fehler das Programm gestoßen prüfen und erneut den Code herauszufinden . Dump -Dateien sind im Wesentlichen eine Aufzeichnung eines Programms Leben bis zu seinem Tod .
Stack Trace oder Thread Dump
Eine besondere Art von Dump-Datei ist der Stack-Trace -Datei . Der "Stack" des Programms ist eine Datenstruktur , die gerade ausgeführt Methoden und erklärte , lokale Variablen darstellt. In Multi-Threaded- Programmierung, wo mehrere Ausführungs-Threads gleichzeitig ausgeführt werden , hat jeder Thread einen Stapel , die einzelne Ausführung Methoden . Der Thread-Dump ist eine Datei , die den Zustand eines Threads Stack stellt während der Ausführung.
Heap und Heap Dumps
Der Heap eines Programms stellt die lange Langzeitlagerung von dem Programm, vor allem Objekte mit Speicher durch das Programm während der Laufzeit zugeordnet. Im Gegensatz zu dem Stapel , werden die Inhalte des Haufens nicht automatisch löschen, nachdem das Programm beendet sie zu benutzen, es sei denn, die Programmiersprache implementiert Müll sammeln Maßnahmen . A Heapdump , wie ein Stapel Spur oder Gewinde dump, stellt den Zustand des Haufens an einem bestimmten Punkt in der Ausführung. Dieser Dump -Datei in bestimmten Katalogen alle Objekte aus dem Speicher auf dem Heap zugeordnet.
Heaps, Stacks und Execution
Beide Thread-Dumps und Heap Dumps spielen eine wichtige Rolle in Überwachen der Ausführung eines Programms . Der Thread-Dump zeigt den Status des Stapels . Dieser Dump -Datei kann tritt auf, wenn ein Thread der Ausführung versucht verfügbar Speicher zuzugreifen , oder wenn der Stapel der Speicher ausgeht . Interpretation der Thread-Dump ermöglicht es dem Programmierer , um zu sehen , welche Methoden ausgeführt werden und welche Methode Anrufe und Variablendeklarationen zum Zeitpunkt der Programm Ausfall bestehen . Der Heap Dump listet Objekte auf dem Heap . Dies gibt Programmierern eine Aufzeichnung , wie viel Speicher zugewiesen wird und welche Objekte werden nicht den freien Speicher gelöscht. Wenn ein Speicherverlust auftritt, zeigt diese Datei , welche Objekte auf dem Heap existieren, wenn es läuft schließlich aus der Erinnerung .