Zuweisungs-Profiler verwenden

Meggin Kearney
Meggin Kearney

Verwenden Sie das Zuweisungs-Profiler-Tool, um Objekte zu finden, die nicht ordnungsgemäß durch die automatische Speicherbereinigung erstellt werden und weiterhin Arbeitsspeicher beibehalten.

Funktionsweise des Tools

Der Zuweisungs-Profiler kombiniert die detaillierten Snapshot-Informationen des Heap-Profilers mit den inkrementellen Updates und dem Tracking des Bereichs „Zeitachse“. Ähnlich wie bei diesen Tools wird beim Verfolgen der Heap-Zuweisung von Objekten eine Aufzeichnung gestartet, eine Reihe von Aktionen ausgeführt und dann die Aufzeichnung zur Analyse beendet.

Das Tool erstellt regelmäßig Heap-Snapshots während der Aufzeichnung (alle 50 ms) und am Ende der Aufzeichnung einen letzten Snapshot.

Zuweisungs-Profiler

Zuweisungs-Profiler aktivieren

So verwenden Sie den Zuweisungs-Profiler:

  1. Achten Sie darauf, dass Sie die neueste Version von Chrome Canary verwenden.
  2. Öffnen Sie die Entwicklertools und klicken Sie auf das Zahnradsymbol unten rechts.
  3. Öffnen Sie jetzt den Profiler-Bereich. Hier sollte das Profil „Record Heap Allocations“ angezeigt werden.

Profiler für Heap-Zuweisungen aufzeichnen

Heap-Zuweisungsprofil lesen

Das Heap-Zuweisungsprofil zeigt, wo Objekte erstellt werden, und gibt den beibehaltenen Pfad an. Im folgenden Snapshot zeigen die Balken oben an, wann neue Objekte im Heap gefunden werden.

Die Höhe jedes Balkens entspricht der Größe der kürzlich zugewiesenen Objekte. Die Farbe der Balken zeigt an, ob diese Objekte im endgültigen Heap-Snapshot noch live sind. Blaue Balken kennzeichnen Objekte, die noch am Ende der Zeitachse aktiv sind. Graue Balken kennzeichnen Objekte, die während der Zeitachse zugewiesen wurden, aber seither automatisch bereinigt wurden:

Profiler-Übersicht für Zuweisung

In der Abbildung unten wurde eine Aktion zehnmal ausgeführt. Das Beispielprogramm speichert fünf Objekte im Cache, sodass die letzten fünf blauen Balken erwartet werden. Der blaue Balken ganz links zeigt jedoch ein potenzielles Problem an.

Mit den Schiebereglern auf der Zeitachse oben können Sie diesen bestimmten Snapshot heranzoomen und die Objekte sehen, die zu diesem Zeitpunkt zuletzt zugewiesen wurden:

Schnappschuss heranzoomen

Wenn Sie auf ein bestimmtes Objekt im Heap klicken, wird dessen beibehaltene Struktur im unteren Teil des Heap-Snapshots angezeigt. Die Untersuchung des Beibehaltungspfads zum Objekt sollte Ihnen genügend Informationen liefern, um zu verstehen, warum das Objekt nicht erfasst wurde. Außerdem können Sie die erforderlichen Änderungen am Code vornehmen, um den unnötigen Verweis zu entfernen.

Arbeitsspeicherzuweisung nach Funktion ansehen

Sie können sich die Arbeitsspeicherzuweisung auch nach JavaScript-Funktion anzeigen lassen. Weitere Informationen finden Sie unter Arbeitsspeicherzuweisung nach Funktion prüfen.