Udostępnij za pomocą


Rozszerzenia diagnostyczne

W tym artykule wymieniono i wyjaśniono wszystkie rozszerzenia Microsoft.Testing.Platform związane z możliwościami diagnostyki.

Wbudowane opcje

Następujące opcje platformy zawierają przydatne informacje dotyczące rozwiązywania problemów z aplikacjami testowymi:

  • --info
  • --diagnostic
  • ⁠-⁠-⁠diagnostic-⁠filelogger-⁠synchronouswrite
  • --diagnostic-verbosity
  • --diagnostic-output-fileprefix
  • --diagnostic-output-directory

Dzienniki diagnostyczne można również włączyć przy użyciu zmiennych środowiskowych:

Nazwa zmiennej środowiskowej Opis
TESTINGPLATFORM_DIAGNOSTIC Jeśli ustawiono wartość 1, włącza rejestrowanie diagnostyczne.
TESTINGPLATFORM_DIAGNOSTIC_VERBOSITY Definiuje poziom szczegółowości. Dostępne wartości to Trace, Debug, Information, Warning, Errorlub Critical.
TESTINGPLATFORM_DIAGNOSTIC_OUTPUT_DIRECTORY Katalog wyjściowy dla rejestrowania diagnostycznego; jeśli katalog nie został określony, plik jest generowany w domyślnym katalogu TestResults.
TESTINGPLATFORM_DIAGNOSTIC_OUTPUT_FILEPREFIX Prefiks nazwy pliku dziennika. Wartość domyślna to "log_".
TESTINGPLATFORM_DIAGNOSTIC_FILELOGGER_SYNCHRONOUSWRITE Wymusza synchroniczne zapisywanie logów przez wbudowany rejestrator plików. Przydatne w scenariuszach, w których nie chcesz utracić żadnych wpisów dziennika (jeśli proces ulegnie awarii). Spowoduje to spowolnienie wykonywania testu.

Notatka

Zmienne środowiskowe mają pierwszeństwo przed argumentami wiersza polecenia.

Zrzut awaryjny

To rozszerzenie umożliwia utworzenie pliku zrzutu awaryjnego w przypadku awarii procesu. To rozszerzenie jest dostarczane w ramach pakietu NuGet Microsoft.Testing.Extensions.CrashDump.

Aby skonfigurować generowanie pliku zrzutu awaryjnego, użyj następujących opcji:

Opcja Opis
--crashdump Generuje plik zrzutu, gdy proces hosta testowego ulega awarii. Obsługiwane w programie .NET 6.0 lub nowszym.
⁠-⁠-⁠crashdump-⁠filename Określa nazwę pliku zrzutu.
--crashdump-type Określa typ zrzutu. Prawidłowe wartości to Mini, Heap, Triage, Full. Wartości domyślne jako Full. Aby uzyskać więcej informacji, proszę się zapoznać z Typami mini zrzutów.

Ostrożność

Rozszerzenie nie jest zgodne z programem .NET Framework i zostanie zignorowane w trybie dyskretnym. W przypadku obsługi platformy .NET Framework włączasz debugowanie pośmiertne za pomocą narzędzia Sysinternals ProcDump. Aby uzyskać więcej informacji, zobacz Enabling Postmortem Debugging: Window Sysinternals ProcDump. Rozwiązanie do debugowania postmortem będzie również zbierać informacje o awariach procesów dla platformy .NET, co pozwala ominąć użycie rozszerzenia, gdy celem są aplikacje testowe zarówno dla .NET, jak i .NET Framework.

Zrzut awaryjny

To rozszerzenie umożliwia utworzenie pliku zrzutu po upływie określonego limitu czasu. To rozszerzenie jest dostarczane w ramach pakietu Microsoft.Testing.Extensions.HangDump.

Aby skonfigurować generowanie plików zrzutu zawieszonych procesów, użyj następujących opcji:

Opcja Opis
--hangdump Generuje plik zrzutu, gdy proces hosta testowego się zawiesi.
-⁠-hangdump-filename Określa nazwę pliku zrzutu.
--hangdump-timeout Określa limit czasu, po którego upływie generowany jest zrzut. Wartość limitu czasu jest określona w jednym z następujących formatów:
1.5h, , 1.5hour1.5hours
90m, , 90min, , 90minute90minutes
5400s, 5400sec, 5400second, . 5400seconds Wartość domyślna to 30m (30 minut).
--hangdump-type Określa typ zrzutu. Prawidłowe wartości to Mini, Heap, Triage, Full. Wartości domyślne jako Full. Aby uzyskać więcej informacji, proszę się zapoznać z Typami mini zrzutów.