Partilhar via


Despejos de colisão e suspensão

Estas funcionalidades exigem a instalação de pacotes NuGet adicionais, conforme descrito em cada secção.

Sugestão

Ao usar o Microsoft.Testing.Platform.MSBuild (incluído de forma transitiva pelos runners MSTest, NUnit e xUnit), estas extensões são registadas automaticamente quando instala os seus pacotes NuGet — não são necessárias alterações de código. O registo manual especificado neste artigo só é obrigatório se desativar o ponto de entrada gerado automaticamente ao definir <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.

Relatório de falha

Esta extensão permite que você crie um arquivo de despejo de memória se o processo falhar. Esta extensão requer o pacote NuGet Microsoft.Testing.Extensions.CrashDump .

Registo manual

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

Opções

Opção Description
--crashdump Gera um arquivo de despejo quando o processo do host de teste falha. Suportado em .NET 6.0+.
⁠-⁠-⁠crashdump-⁠filename Especifica o nome do arquivo do dump.
--crashdump-type Especifica o tipo de despejo. Os valores válidos são Mini, Heap, Triage, Full. Padrão como Full. Para obter mais informações, consulte Tipos de minidumps.

Atenção

A extensão não é compatível com o .NET Framework e será silenciosamente ignorada. Para suporte ao .NET Framework, ativas a depuração pós-morte com o Sysinternals ProcDump. Para obter mais informações, consulte Ativando a depuração postmortem: Windows Sysinternals ProcDump. A solução de depuração post-mortem também recolherá informações sobre falhas de processos para o .NET, para que possa evitar o uso da extensão caso esteja a direcionar aplicações de teste tanto para .NET como para .NET Framework.

Pendurar despejo

Esta extensão permite que você crie um arquivo de despejo após um determinado tempo limite. Esta extensão requer o pacote NuGet Microsoft.Testing.Extensions.HangDump.

Registo manual

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

Opções

Opção Description
--hangdump Gera um arquivo de despejo caso o processo do host de teste trave.
-⁠-hangdump-filename Especifica o nome do arquivo do dump.
--hangdump-timeout Especifica a duração da ausência de atividade após a qual o dump é gerado. O valor de tempo limite é especificado em um dos seguintes formatos:
1.5h, 1.5hour, 1.5hours
90m, 90min, 90minute, 90minutes
5400s, 5400sec, 5400second, 5400seconds. Por padrão, é 30m (30 minutos).
--hangdump-type Especifica o tipo de despejo. Os valores válidos são Mini, Heap, Triage, Full. Padrão como Full. Para obter mais informações, consulte Tipos de minidumps.