Compartilhar via


Extensões de diagnóstico

Este artigo lista e explica todas as extensões Microsoft.Testing.Platform relacionadas ao recurso de diagnóstico.

Opções integradas

As opções de plataforma a seguir fornecem informações úteis para solucionar problemas nos seus aplicativos de teste.

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

Você também pode habilitar os logs de diagnóstico usando as variáveis de ambiente:

Nome da variável de ambiente Descrição
TESTINGPLATFORM_DIAGNOSTIC Se definido como 1, habilita o log de diagnóstico.
TESTINGPLATFORM_DIAGNOSTIC_VERBOSITY Define o nível de verbosidade. Os valores disponíveis são Trace, Debug, Information, Warning, Errorou Critical.
TESTINGPLATFORM_DIAGNOSTIC_OUTPUT_DIRECTORY O diretório de saída do log de diagnóstico, se não for especificado, o arquivo será gerado no diretório padrão TestResults.
TESTINGPLATFORM_DIAGNOSTIC_OUTPUT_FILEPREFIX O prefixo do nome do arquivo de log. Assume o padrão de "log_".
TESTINGPLATFORM_DIAGNOSTIC_FILELOGGER_SYNCHRONOUSWRITE Força o logger de arquivos embutido a gravar logs de forma síncrona. Útil para cenários em que você não deseja perder nenhuma entrada de log (se o processo falhar). Isso reduz a velocidade da execução do teste.

Nota

As variáveis de ambiente têm precedência sobre os argumentos de linha de comando.

Despejo de memória

Essa extensão permite que você crie um arquivo de despejo de memória se o processo falhar. Essa extensão é enviada como parte do pacote NuGet Microsoft.Testing.Extensions.CrashDump.

Importante

O pacote é fornecido com a biblioteca Microsoft .NET sob um modelo de licenciamento de código fechado e gratuito para uso.

Para configurar a geração de arquivos de despejo de memória, use as seguintes opções:

Opção Descrição
--crashdump Gera um arquivo de despejo quando o processo de host de teste falha. Com suporte no .NET 6.0+.
⁠-⁠-⁠crashdump-⁠filename Especifica o nome do arquivo do despejo.
--crashdump-type Especifica o tipo do despejo. Os valores válidos são Mini, Heap, Triage, Full. O padrão é Full. Para obter mais informações, confira Tipos de mini despejos.

Cuidado

A extensão não é compatível com o .NET Framework e será ignorada silenciosamente. Para oferecer suporte ao .NET Framework, você habilita a depuração post-mortem com o Sysinternals ProcDump. Para obter mais informações, consulte Ativando a Depuração Post-mortem: Window Sysinternals ProcDump. A solução de depuração post-mortem também coletará informações sobre falhas de processo para o .NET, para que você possa evitar o uso da extensão se estiver direcionando tanto aplicativos de teste .NET quanto .NET Framework.

Despejo de travamento

Essa extensão permite que você crie um arquivo de despejo após um determinado tempo limite. Essa extensão é enviada como parte do pacote Microsoft.Testing.Extensions.HangDump.

Importante

O pacote é fornecido com a biblioteca Microsoft .NET sob um modelo de licenciamento de código fechado e gratuito para uso.

Para configurar a geração de arquivos de despejo de travamento, use as seguintes opções:

Opção Descrição
--hangdump Gera um arquivo de despejo caso o processo de host de teste se encontre travado.
-⁠-hangdump-filename Especifica o nome do arquivo do despejo.
--hangdump-timeout Especifica o tempo limite após o qual o despejo é gerado. O valor do tempo limite é especificado em um dos seguintes formatos:
1.5h 1.5hour 1.5hours
90m, 90min, , 90minute90minutes
5400s, 5400sec, 5400second. 5400seconds O padrão é 30m (30 minutos).
--hangdump-type Especifica o tipo do despejo. Os valores válidos são Mini, Heap, Triage, Full. O padrão é Full. Para obter mais informações, confira Tipos de mini despejos.