Udostępnij za pośrednictwem


Zrzuty awaryjne i zawieszania się

Te funkcje wymagają zainstalowania dodatkowych pakietów NuGet zgodnie z opisem w każdej sekcji.

Wskazówka

W przypadku korzystania z Microsoft.Testing.Platform.MSBuild (dołączonego tranzytywnie przez narzędzia uruchomieniowe MSTest, NUnit i xUnit), te rozszerzenia są automatycznie rejestrowane podczas instalowania pakietów NuGet — bez konieczności wprowadzania zmian w kodzie. Rejestracja ręczna określona w tym artykule jest wymagana tylko w przypadku wyłączenia automatycznie wygenerowanego punktu wejścia przez ustawienie<GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.

Zrzut awaryjny

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

Rejestracja ręczna

var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHostControllers.AddCrashDumpProvider();

Opcje

Option Opis
--crashdump Generuje plik zrzutu, gdy proces hosta testowego ulega awarii. Obsługiwane w wersji .NET 6.0 lub nowszej.
⁠-⁠-⁠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.

Ostrzeżenie

Rozszerzenie nie jest zgodne z platformą .NET Framework i zostanie zignorowane w trybie dyskretnym. W przypadku wsparcia dla platformy .NET Framework można włączyć 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 awarii procesu dla .NET, aby można było uniknąć użycia rozszerzenia, jeśli celem są zarówno aplikacje testowe .NET, jak i .NET Framework.

Zrzut awaryjny

To rozszerzenie umożliwia utworzenie pliku zrzutu po upływie określonego limitu czasu. To rozszerzenie wymaga pakietu NuGet Microsoft.Testing.Extensions.HangDump .

Rejestracja ręczna

var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHostControllers.AddHangDumpProvider();

Opcje

Option Opis
--hangdump Generuje plik zrzutu, gdy proces hosta testowego się zawiesi.
-⁠-hangdump-filename Określa nazwę pliku zrzutu.
--hangdump-timeout Określa czas trwania braku działania, po którym jest generowany zrzut. Wartość limitu czasu jest określona w jednym z następujących formatów:
1.5h, 1.5hour, 1.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.