Funktionen von dotMemory

dotMemory ist ein .NET-Speicher-Profiler, der direkt von Visual Studio aus gestartet, als Plugin in JetBrains Rider verwendet oder als eigenständiges Tool eingesetzt werden kann.

Startansicht von dotMemory

Unterstützung für verschiedene .NET-Anwendungen

Mit dotMemory können Sie Anwendungen profilieren, die auf einer beliebigen unterstützten Version von .NET Framework, .NET Core, .NET, ASP.NET, IIS, IIS Express, Windows-Dienste, der Universal Windows Platform usw. basieren. Unter macOS und Linux kann dotMemory nur als Teil von JetBrains Rider oder als Befehlszeilenprofiler verwendet werden.

Unterstützung für Prozesssicherungen

Unterstützung für rohe Speicherabbilder

Mit dotMemory können Sie rohe Speicherabbilder von Windows importieren, die mithilfe des Task-Managers oder Prozess-Explorers erstellt wurden, und diese als reguläre Arbeitsspeicher-Snapshots analysieren. Auf diese Weise können Sie von automatischen Inspektionen, Aufbewahrungsdiagrammen und anderen fortschrittlichen Funktionen von dotMemory Gebrauch machen.

Sunburst-Diagramm

Sunburst-Diagramm

Um Ihre Anwendung erfolgreich optimieren zu können, müssen Sie verstehen, wie sie den Arbeitsspeicher nutzt. In dieser Ansicht wird die Hierarchie der Dominatoren (Objekte, die ausschließlich andere Objekte im Speicher aufbewahren) in einem Sunburst-Diagramm angezeigt.

Sie können durch einen kurzen Blick auf das Diagramm bereits herausfinden, welche Objekte essenziell für Ihre Anwendung sind, und Sie können die größten Strukturen auswerten: je mehr Speicher in einem Dominator aufbewahrt wird, umso größer wird der zentrale Blickwinkel.

Klicken Sie auf ein bestimmtes Kreissegment, um den Aufbewahrungspfad des zugehörigen Dominators zu erhalten. Mit einem Doppelklick auf einen Dominator zoomen Sie in das Diagramm hinein und können die vom Dominator aufbewahrten Objekte detaillierter einsehen.

dotMemory in Visual Studio ausführen

Visual-Studio- und Rider-Integration

dotMemory ist in JetBrains Rider integriert und ermöglicht Ihnen die Verfolgung von Speicherallokationen in Echtzeit, Allokationsanalysen für bestimmte Zeitintervalle und vieles mehr. Sie können auch eine Sitzung zur Speicherprofilerstellung von Visual Studio aus starten, wann immer dies erforderlich ist.

Im Weiteren können Sie von einem Typ in einem dotMemory-Objektsatz aus zur Deklaration des Typs in Visual Studio navigieren.

Erhalten Sie automatisch Snapshots

Automatische Snapshots

Manchmal möchten Sie Snapshots nur unter bestimmten Voraussetzungen erstellen. Deshalb macht dotMemory es möglich, den Vorgang der Snapshot-Erstellung zu automatisieren. Dies ist besonders hilfreich, wenn sich die Speicherauslastung Ihrer Anwendung dramatisch erhöht oder wenn das manuelle Erstellen eines Snapshots schwierig ist. Legen Sie einfach eine bestimmte Bedingung fest – schon werden Snapshots automatisch erstellt, sobald die Bedingung erfüllt ist.

Ansicht der Timeline

Ansicht der Timeline mit Datenerfassung in Echtzeit

Überwachen Sie die Speichernutzung Ihrer Anwendung, erstellen Sie Snapshots und vergleichen Sie sie nur einem Klick.

Mehrere Ansichten der Daten

Mehrere Ansichten der Daten

Untersuchen Sie Objekte im Heap von unterschiedlichen Ansichten aus. Möchten Sie wissen, in welcher Beziehung die Objekte zueinander stehen? Auf welche Objekte sie verweisen und durch welche Felder? Möchten Sie sehen, welche Aufrufe diese Objekte erstellt haben? Kein Problem! dotMemory hat eine Ansicht für alles.

Vergleich von Arbeitsspeicher-Snapshots

Vergleich von Arbeitsspeicher-Snapshots

Der Vergleich von zwei Snapshots ist eine gute Methode, um Objekte zu identifizieren, die Speicherverluste verursachen. Verwenden Sie die Vergleichsansicht, um herauszufinden, wie viele Objekte zwischen den Snapshots erstellt und wie viele Objekte erfasst wurden.

Einfache und umfangreiche Benutzeroberfläche

Einfache und umfangreiche UI

Ein nützliches Feature, das sonst immer nur Profis vorbehalten ist, ist Speicher-Profiling. Die einzigartige Benutzeroberfläche von dotMemory erleichtert den Einstieg erheblich und macht Speicher-Profiling allen zugänglich. Beginnen Sie ganz oben und gehen Sie immer tiefer – von einer Reihe von Objekten hin zu einzelnen Instanzen –, bis Sie die wahre Ursache für die Speicherprobleme ausfindig gemacht haben.

Analyse der Speicherauslastung

Analyse der Speicherauslastung

Übermäßige Belegung und Garbage Collection können auf erheblichen Overhead bei der Speicherverwaltung hinweisen. Verwenden Sie die Bedarfsansicht, um zu erfahren, welche Objekte in Ihrer Anwendung mit dem größten Aufwand erstellt/gesammelt werden und welche Objekte den größten Speicherbedarf haben.

Leistungsstarke automatische Inspektionen

Leistungsstarke automatische Inspektionen

dotMemory durchsucht Ihren Snapshot automatisch auf gewöhnliche Arten von Speicherproblemen, wie zum Beispiel doppelte Strings, spärliche Arrays, verlustreiche Ereignishandler oder WPF-Bindungen. Wenn Sie nicht sicher sind, wo Sie anfangen sollen, nutzen Sie einfach diese Inspektionen als Startpunkt für die Analyse des Snapshots.

Befehlszeilen-Profiler

Befehlszeilen-Profiler

dotMemory wird zusammen mit dem Befehlszeilen-Profiler dotMemory.exe geliefert. Verwenden Sie dieses Tool, um automatisch Profile zu erstellen: Machen Sie das Profiling zum Teil Ihrer Continuous Integration-Builds oder beschleunigen Sie schlicht Ihre Profiling-Routinen (z. B. wenn Sie regelmäßig ein Profil von der gleichen Anwendung erstellen müssen oder wenn Sie nicht jedes Mal die Benutzeroberfläche von dotMemory aufrufen möchten).

dotMemory herunterladen

Kostenlose 30-Tage-Testversion verfügbar