Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tyto funkce vyžadují instalaci dalších balíčků NuGet, jak je popsáno v každé části.
Návod
Pokud používáte Microsoft.Testing.Platform.MSBuild (zahrnuté tranzitivně pomocí msTest, NUnit a xUnit runnerů), tato rozšíření se automaticky zaregistrují při instalaci jejich balíčků NuGet – nejsou potřeba žádné změny kódu. Ruční registrace zadaná v tomto článku se vyžaduje pouze v případě, že jste zakázali automaticky vygenerovaný vstupní bod nastavením <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.
Výpis stavu systému
Toto rozšíření umožňuje vytvořit soubor s výpisem stavu systému, pokud se proces chybově ukončí. Toto rozšíření vyžaduje balíček NuGet Microsoft.Testing.Extensions.CrashDump .
Ruční registrace
var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHostControllers.AddCrashDumpProvider();
Možnosti
| Možnost | Description |
|---|---|
--crashdump |
Vygeneruje výpisový soubor při chybovém ukončení procesu testovacího hostitele. Podporováno v .NET 6.0 nebo novější. |
--crashdump-filename |
Určuje název souboru s výpisem. |
--crashdump-type |
Určuje typ výpisu. Platné hodnoty jsou Mini, Heap, Triage a Full. Výchozí hodnota je Full. Další informace naleznete v tématu Typy minidumpů. |
--crash-report |
[Pouze Linux/macOS] Vygeneruje hlášení o pádu ve formátu JSON, když testovací proces spadne. V kombinaci s --crashdump se také vygeneruje soubor s výpisem paměti. Vyžaduje .NET 7+ při použití samostatně nebo .NET 6+ v kombinaci s --crashdump. V Windows se nepodporuje, protože modul runtime .NET ignoruje základní proměnné prostředí DOTNET_EnableCrashReport a DOTNET_EnableCrashReportOnly na Windows (dotnet/runtime#80191). K dispozici v MTP od verze 2.3.0. |
--crash-report-if-supported |
Stejné jako --crash-report, ale bude ignorováno a zobrazí se informační zpráva na platformách, které nepodporují vytváření hlášení o pádu. Tato možnost slouží k zachování stejného příkazového řádku napříč maticemi CI, které obsahují Windows. Vzájemně se vylučuje s --crash-report. K dispozici v MTP od verze 2.3.0. |
--crash-sequence |
Určuje, jestli se vygeneruje sekvenční soubor se seznamem testů, které se spustily a ukončily během testovací relace, spolu se výpisem stavu systému nebo zprávou o chybovém ukončení. Soubor umožňuje určit, které testy byly spuštěné v okamžiku selhání, bez nutnosti kontrolovat výpis. Platné hodnoty jsou on (výchozí; také přijímá true, enablea 1) nebo off (také přijímá false, disable, a 0). K dispozici v MTP od verze 2.3.0. |
Upozornění
Rozšíření není kompatibilní s rozhraním .NET Framework a bude bezobslužně ignorováno. Pro podporu .NET Framework povolíte postmortem ladění pomocí nástroje Sysinternals ProcDump. Další informace naleznete v tématu Povolení postmortem ladění: Windows Sysinternals ProcDump. Řešení pro ladění postmortem také bude shromažďovat informace o chybách procesu pro .NET, abyste se vyhnuli použití rozšíření, pokud cílíte na testovací aplikace pro .NET i .NET Framework.
Zablokování výpisu paměti
Toto rozšíření umožňuje vytvořit soubor s výpisem paměti po daném časovém limitu. Toto rozšíření vyžaduje balíček NuGet Microsoft.Testing.Extensions.HangDump .
Ruční registrace
var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHostControllers.AddHangDumpProvider();
Možnosti
| Možnost | Description |
|---|---|
--hangdump |
Vygeneruje soubor s výpisem paměti pro případ, že proces testovacího hostitele přestane reagovat. |
--hangdump-filename |
Určuje název souboru s výpisem. Podporuje následující zástupné symboly: {pname} (název testovací aplikace), {pid} (ID procesu), {asm} (název sestavení položky), {tfm} (moniker cílového rozhraní) a {time} (časové razítko). Kvůli zpětné kompatibilitě se podporuje také starší %p token (ID procesu). |
--hangdump-timeout |
Určuje dobu trvání absence aktivity, po které se vygeneruje výpis stavu. Hodnota časového limitu je zadána v jednom z následujících formátů:1.5h, 1.5hour, 1.5hours90m, 90min, , 90minute90minutes5400s, 5400sec, , 5400second5400seconds500ms, 500mil, , 500millisecond500milliseconds1d, 1day, 1days. Holé číslo (bez přípony) se interpretuje jako milisekundy. Výchozí hodnota je 30m (30 minut). |
--hangdump-type |
Určuje typ výpisu. Platné hodnoty jsou Mini, Heap, Full, Triage (není k dispozici v .NET Framework) a None. Výchozí hodnota je Full. Další informace naleznete v tématu Typy minidumpů. Hodnota None je dostupná v MTP od verze 2.1.0. |
--hangdump-type-if-supported |
Totéž jako --hangdump-type, ale pokud požadovaný typ výpisu paměti není v aktuálním běhovém prostředí k dispozici, přejde s informační zprávou na nejbližší podporovaný typ výpisu paměti. Například Triage se podporuje pouze na .NET (Core) a vrátí se zpět na Mini v .NET Frameworku. Tato možnost slouží k zachování stejného příkazového řádku napříč maticemi CI, které kombinuje .NET (Core) a .NET Framework. Platné hodnoty jsou Mini, , HeapFull, Triagea None. Vzájemně se vylučuje s --hangdump-type. K dispozici v MTP od verze 2.3.0. |