Freigeben über


Auswählen eines Speicheranalysetools in Visual Studio (C#, Visual Basic, C++, F#)

Um Speicherverluste und ineffiziente Speicherauslastung zu finden, können Sie Tools wie das Debugger-integrierte Diagnosetool für die Speichernutzung oder Tools im Performance Profiler verwenden, z. B. das .NET-Objektzuweisungstool und das Nachsterbliche Speichernutzungstool. Performance Profiler-Tools sind in erster Linie für Releasebuilds vorgesehen. Weitere Informationen finden Sie unter Ausführen von Profilerstellungstools für Release- oder Debugbuilds.

Mit dem Speicherauslastungstool können Sie einen oder mehrere Momentaufnahmen des verwalteten und nativen Momentaufnahmeheaps machen. Sie können Momentaufnahmen von .NET-, ASP.NET-, C++- oder gemischten Apps (.NET und systemeigene Apps) sammeln. Das tool Speicherauslastung kann auf einem geöffneten Visual Studio-Projekt, in einer installierten Microsoft Store-App oder an eine ausgeführte App oder einen ausgeführten Prozess angefügt werden.

.NET-Entwickler können zwischen dem .NET-Objektzuweisungstool oder dem Speichernutzungstool wählen.

  • Das .NET Object Allocation Tool Hilft Ihnen, Zuordnungsmuster und Anomalien in Ihrem .NET-Code zu identifizieren und häufige Probleme mit der Garbage Collection zu identifizieren. Dieses Tool wird nur als Post-Mortem-Analysewerkzeug ausgeführt. Sie können dieses Tool auf lokalen oder Remotecomputern ausführen.
  • Das Tool für die Speicherauslastung ist hilfreich beim Identifizieren von Speicherlecks, die in .NET-Apps in der Regel nicht üblich sind. Wenn Sie Debuggerfeatures für das Überprüfen des Arbeitsspeichers verwenden müssen (z. B. für das schrittweise Ausführen von Code), wird das in den Debugger integrierte Tool für die Arbeitsspeicherauslastung empfohlen. Im Debugger können Sie die Speicherprofilerstellung aktivieren und deaktivieren und eine Aufschlüsselung der Speicherauslastung pro Objekt anzeigen. Sie können die Ergebnisse der Speicherauslastung anzeigen, wenn die Ausführung angehalten wird, z. B. an einem Haltepunkt.

C++-Entwickler können das Speichernutzungstool für Debug- oder Releasebuilds verwenden:

Blogs und Videos

Analysieren der CPU und des Arbeitsspeichers beim Debuggen

Visual C++-Blog: Speicherprofilerstellung in Visual C++ 2015