Udostępnij za pośrednictwem


Rozszerzenia diagnostyczne

W tym artykule wymieniono i wyjaśniono wszystkie Microsoft Testing Platform rozszerzenia 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:

Environment variable name opis
TESTINGPLATFORM_DIAGNOSTIC Jeśli jest ustawiona wartość 1, włącza rejestrowanie diagnostyczne.
TESTINGPLATFORM_DIAGNOSTIC_VERBOSITY Definiuje poziom szczegółowości. Dostępne wartości to Trace, , Debug, InformationWarning, , Errorlub Critical.
TESTINGPLATFORM_DIAGNOSTIC_OUTPUT_DIRECTORY Katalog wyjściowy rejestrowania diagnostycznego, jeśli nie określono pliku, 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 wbudowany rejestrator plików w celu synchronicznego zapisywania dzienników. Przydatne w scenariuszach, w których nie chcesz utracić żadnych wpisów dziennika (jeśli proces ulegnie awarii). Spowoduje to spowolnienie wykonywania testu.

Uwaga

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 .

Ważne

Pakiet jest dostarczany z biblioteką firmy Microsoft .NET bez użycia modelu licencjonowania.

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, , TriageHeap, Full. Wartości domyślne to Full. Aby uzyskać więcej informacji, zobacz Typy mini zrzutów.

Uwaga

Rozszerzenie nie jest zgodne z programem .NET Framework i zostanie zignorowane w trybie dyskretnym. W przypadku obsługi programu .NET Framework włączysz debugowanie pośmiertne za pomocą narzędzia Sysinternals ProcDump. Aby uzyskać więcej informacji, zobacz Enabling Postmortem Debugowanie: Window Sysinternals ProcDump. Rozwiązanie do debugowania postmortem będzie również zbierać informacje o awarii procesu dla platformy .NET, dzięki czemu można uniknąć użycia rozszerzenia, jeśli jest przeznaczone zarówno dla aplikacji testowych .NET, jak i .NET Framework.

Zrzut zawieszania

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 .

Ważne

Pakiet jest dostarczany z biblioteką firmy Microsoft .NET bez użycia modelu licencjonowania.

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

Opcja Opis
--hangdump Generuje plik zrzutu w przypadku zawieszania się procesu hosta testowego.
-⁠-⁠hangdump-⁠filename Określa nazwę pliku zrzutu.
--hangdump-timeout Określa limit czasu, po którym jest generowany zrzut. Wartość limitu czasu jest określona w jednym z następujących formatów:
1.5h, , 1.5hour1.5hours
90m, , 90min, , 90minute90minutes
5400s, , 5400sec5400second, , 5400seconds. Wartość domyślna to 30m (30 minut).
--hangdump-type Określa typ zrzutu. Prawidłowe wartości to Mini, , TriageHeap, Full. Wartości domyślne to Full. Aby uzyskać więcej informacji, zobacz Typy mini zrzutów.