Wybieranie narzędzia do analizy pamięci w programie Visual Studio (C#, Visual Basic, C++, F#)
Aby znaleźć przecieki pamięci i nieefektywne wykorzystanie pamięci, można użyć narzędzi takich jak zintegrowane z debugerem narzędzie diagnostyczne Memory Usage lub narzędzi w profilerze wydajności, takich jak narzędzie alokacji obiektów .NET oraz narzędzie Memory Usage po zakończeniu procesu. Narzędzia profilera wydajności są przeznaczone głównie do wersji produkcyjnych. Aby uzyskać więcej informacji, zobacz Uruchamianie narzędzi profilowania w kompilacjach wydania lub debugowania.
Narzędzie Użycie pamięci umożliwia wykonywanie przynajmniej jednej migawki sterty pamięci zarządzanej i natywnej. Można zbierać migawki aplikacji .NET, ASP.NET, C++lub trybu mieszanego (.NET i natywne). Narzędzie Użycie pamięci może być uruchamiane w otwartym projekcie programu Visual Studio, w zainstalowanej aplikacji ze sklepu Microsoft Store lub dołączone do uruchomionej aplikacji lub procesu.
Deweloperzy platformy .NET mogą wybrać narzędzie alokacji obiektów platformy .NET lub narzędzie Użycie pamięci.
- Narzędzie alokacji obiektów platformy .NET pomaga zidentyfikować wzorce alokacji i anomalii w kodzie platformy .NET oraz pomaga zidentyfikować typowe problemy związane z zarządzaniem pamięcią (garbage collection). To narzędzie działa tylko jako narzędzie pośmiertne. To narzędzie można uruchomić na maszynach lokalnych lub zdalnych.
- Narzędzie użycia pamięci jest przydatne podczas identyfikowania przecieków pamięci, które zwykle nie są powszechne w aplikacjach .NET. Jeśli musisz używać funkcji debuggera podczas sprawdzania pamięci, takich jak przechodzenie przez kod, zalecane jest narzędzie użycia pamięci zintegrowane z debugerem. W debugerze można włączyć i wyłączyć profilowanie pamięci oraz zobaczyć podział użycia pamięci dla poszczególnych obiektów. Wyniki użycia pamięci można wyświetlić po wstrzymaniu wykonywania, na przykład w punkcie przerwania.
Programiści C++ mogą używać narzędzia Użycie pamięci na wersjach debugowania lub produkcyjnych.
Blogi i filmy wideo
Analiza CPU i pamięci podczas debugowania
blog Visual C++: profilowanie pamięci w programie Visual C++ 2015