Udostępnij za pośrednictwem


Wysypiska

Zrzut to plik, który zawiera migawkę procesu w momencie utworzenia tego zrzutu i może być przydatny przy badaniu stanu aplikacji. Zrzuty mogą być używane do debugowania aplikacji .NET w sytuacjach, gdy trudno jest dołączyć do niej debuger, na przykład w środowiskach produkcyjnych lub ciągłej integracji. Użycie zrzutów umożliwia przechwycenie stanu problematycznego procesu i sprawdzenie go bez konieczności zatrzymywania aplikacji.

Zbieranie zrzutów

Zrzuty pamięci można zbierać na różne sposoby w zależności od platformy, na której działa twoja aplikacja.

Notatka

Zrzuty mogą zawierać poufne informacje, ponieważ mogą zawierać pełną pamięć uruchomionego procesu. Postępuj z nimi, mając na uwadze wszelkie ograniczenia bezpieczeństwa i zalecenia.

  • Zmienne środowiskowe umożliwiają skonfigurowanie aplikacji w celu zbierania zrzutu podczasawarii.

  • Możesz zebrać zrzut, gdy aplikacja jeszcze nie uległa awarii. Jeśli na przykład chcesz sprawdzić stan aplikacji, która wydaje się znajdować w impasie, skonfigurowanie zmiennych środowiskowych w celu zbierania zrzutów w przypadku awarii nie będzie pomocne, ponieważ aplikacja nadal działa.

  • dotnet-dump to proste narzędzie wiersza polecenia działające na wielu platformach do zbierania zrzutów pamięci. Kilka innych narzędzi debugera, takich jak Visual Studio lub windbg, również mają funkcje zbierania zrzutów.

  • Jeśli używasz aplikacji w środowisku produkcyjnym lub uruchamiasz ją w sposób rozproszony (kilka usług, replik), dotnet-monitor zapewnia obsługę wielu typowych scenariuszy i badań diagnostycznych ad hoc, w tym zbierania zrzutów i ruchu wychodzącego. Umożliwia zbieranie zrzutów zdalnie lub przy określonych warunkach wyzwalania.

Napiwek

Aby uzyskać informacje na temat rozwiązywania problemów i często zadawanych pytań dotyczących zbierania zrzutów, zobacz Zrzuty: często zadawane pytania.

Analizowanie zrzutów

Analiza pamięci

Możesz przeprowadzić analizę pamięci w aplikacji, jeśli pamięć aplikacji będzie nadal rosła, ale nie masz pewności, dlaczego tak się dzieje. Samouczek debugowania wycieku pamięci pokazuje, jak debugować wyciek pamięci przy użyciu narzędzi dotnet CLI z wykorzystaniem poleceń dotnet-sos: dumpheap i gcroot.

analiza pamięci programu Visual Studio może służyć do diagnozowania przecieku pamięci w systemie Windows.

Zobacz też

Dowiedz się więcej o tym, jak można wykorzystać zrzuty, aby ułatwić diagnozowanie problemów w aplikacji platformy .NET.