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

Zum Ermitteln von Arbeitsspeicherverlusten und ineffizienter Arbeitsspeichernutzung können Sie Tools wie das im Debugger integrierte Speicherauslastungs-Diagnosetool oder die Tools im Leistungs-Profiler verwenden, z. B. das .NET-Objektzuordnungstool und das Speicherauslastungs-Nachbereitungstool.

Mit dem Speicherauslastungstool können Sie einen oder mehrere Momentaufnahmen des verwalteten und systemeigenen Momentaufnahme-Heaps machen. Sie können Momentaufnahmen von .NET-Apps, ASP.NET-Apps, C++-Apps und Apps im gemischten Modus (.NET und nativ) erfassen. Das Speicherauslastungstool kann für ein geöffnetes Visual Studio-Projekt oder eine installierte Microsoft Store-App ausgeführt oder an eine ausgeführte App bzw. einen Prozess angefügt werden. Sie können das Speicherauslastungstool mit oder ohne Debuggen ausführen. Weitere Informationen finden Sie unter Ausführen von Profilerstellungstools mit oder ohne Debugger. Im Debugger können Sie die Arbeitsspeicher-Profilerstellung aktivieren bzw. deaktivieren und eine objektspezifische Aufschlüsselung der Arbeitsspeicherauslastung anzeigen. Sie können die Ergebnisse der Arbeitsspeicherauslastung anzeigen, wenn die Ausführung pausiert ist, z. B. an einem Breakpoint.

.NET-Entwickler können zwischen dem .NET-Tool für Objektzuordnungen und dem Tool zur Speicherauslastung auswählen.

  • Das Tool für .NET-Objektzuordnungen trägt dazu dabei, Zuteilungsmuster und Anomalien in Ihrem .NET-Code zu ermitteln, und es unterstützt Sie beim Identifizieren häufiger Probleme mit der Garbage Collection. Dieses Tool wird nur zur Nachbereitung ausgeführt. Sie können dieses Tool auf lokalen Computern oder Remotecomputern ausführen.
  • Das Tool zur Speicherauslastung ist hilfreich für das Identifizieren von Arbeitsspeicherlecks, die bei .NET-Apps normalerweise nicht häufig vorkommen. 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 im Debugger integrierte Tool für die Arbeitsspeicherauslastung empfohlen.

C++-Entwickler können entweder auf die in den Debugger integrierte Version des Tools zur Speicherauslastung oder auf die Toolversion ohne Debugger zurückgreifen.

Unter Windows 7 und höher können Sie die Profilerstellungstools ohne den Debugger verwenden. Windows 8 und höher ist erforderlich, um die Profilerstellungstools mit dem Debugger auszuführen (Fenster Diagnosetools).

Blogs und Videos

Analyze CPU and Memory While Debugging (Analysieren der CPU und des Arbeitsspeichers beim Debuggen)

Visual C++ Team Blog: Memory Profiling in Visual C++ 2015 (Visual C++-Teamblog: Speicherprofilerstellung in Visual C++ 2015)