Treffer: Using tree visualizations to facilitate memory leak analysis
Weitere Informationen
Wenn Objekte, die nicht mehr benötigt werden, unnötigerweise am Leben gehalten werden, treten Speicherlecks auf. Diese Speicherlecks können die Performance einer Applikation negativ beeinflussen und im schlimmsten Fall zu einem Absturz der Applikation führen. Analysewerkzeuge zur Inspektion der Speicherentwicklung sind daher unverzichtbar für die Softwarewartung. Forschung in Bereichen der Softwareevolution und dem Programmverständnis hat gezeigt, dass die grafische Visualisierung des Wachstums und der Entwicklung eines Systems den Benutzern helfen kann dieses Wachstum zu verstehen und zu interpretieren. Trotzdem verwenden die meisten modernen Werkzeuge leider keine Visualisierungen um das Speicherwachstum über einen Zeitraum darzustellen. In dieser Arbeit stellen wir unseren Ansatz zur Visualisierung von Speicherwachstum mittels Baumvisualisierungen vor. Das Ziel dieses Ansatzes ist es, die Speicheranalyse zu vereinfachen. Um einen Heap in einen visualisierbaren Baum zu transformieren werden die Heapobjekte anhand einer Menge von benutzerdefinierten Eigenschaften, wie beispielsweise ihren Typen oder den allokierenden Threads gruppiert. Dadurch entsteht ein sogenannter Gruppierungsbaum. Um die Entwicklung des Speichers über einen Zeitraum darzustellen, wird diese Gruppierung zu mehreren Zeitpunkten innerhalb eines ausgewählten Zeitfensters durchgeführt. Die Benutzer können dann durch diese verschiedenen Zeitpunkte schreiten. Dabei aktualisiert sich die Visualisierung automatisch und zeigt den Heapzustand der analysierten Applikation zum ausgewählten Zeitpunkt an. Die visuelle Untersuchung der Heapentwicklung soll den Benutzern dabei helfen, Trends zu erkennen und neue Erkenntnisse über das Speicherverhalten der Applikation zu gewinnen. Um die Umsetzbarkeit und die Anwendungsmöglichkeiten des präsentierten Ansatzes zu zeigen haben wir ihn in AntTracks, einem Speicheranalysewerkzeug, integriert. Wir zeigen die Verwendung dieses Werkzeugs anhand von zwei Speicheranalyse-Fallstudien. ; Memory leaks occur when no ...