Condividi tramite


Arresti anomali e dump di blocco

Queste funzionalità richiedono l'installazione di pacchetti NuGet aggiuntivi, come descritto in ogni sezione.

Suggerimento

Quando si usa Microsoft.Testing.Platform.MSBuild (incluso transitivamente da MSTest, NUnit e runner xUnit), queste estensioni vengono registrate automaticamente quando si installano i pacchetti NuGet, senza necessità di modifiche al codice. La registrazione manuale specificata in questo articolo è necessaria solo se il punto di ingresso generato automaticamente è stato disabilitato impostando <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.

Dump di arresto anomalo del sistema

Questa estensione consente di creare un file di dump in caso di arresto anomalo del processo. Questa estensione richiede il pacchetto NuGet Microsoft.Testing.Extensions.CrashDump .

Registrazione manuale

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

Options

Opzione Descrzione
--crashdump Genera un file dump quando il processo host di test si arresta in modo anomalo. Supportato in .NET 6.0+.
⁠-⁠-⁠crashdump-⁠filename Specifica il nome file del dump.
--crashdump-type Specifica il tipo di scarico. I valori validi sono Mini, Heap, Triage, Full. Il valore predefinito è Full. Per altre informazioni, vedere Tipi di mini dump.

Attenzione

L'estensione non è compatibile con .NET Framework e verrà ignorata automaticamente. Per il supporto di .NET Framework, si abilita il debug postmortem con Sysinternals ProcDump. Per ulteriori informazioni, vedere Abilitazione del debug postmortem con Windows Sysinternals ProcDump. La soluzione di debug postmortem raccoglierà anche le informazioni sull'arresto anomalo del processo per .NET, permettendoti di evitare l'uso dell'estensione se si ha come destinazione applicazioni sia .NET che .NET Framework.

Dump di sistema bloccato

Questa estensione consente di creare un file di dump dopo un determinato timeout. Questa estensione richiede il pacchetto NuGet Microsoft.Testing.Extensions.HangDump .

Registrazione manuale

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

Options

Opzione Descrzione
--hangdump Genera un file di dump nel caso in cui il processo host di test si blocchi.
-⁠-hangdump-filename Specifica il nome file del dump.
--hangdump-timeout Specifica il periodo di inattività dopo il quale viene generato il dump. Il valore di timeout viene specificato in uno dei formati seguenti:
1.5h, 1.5hour, 1.5hours
90m, 90min, 90minute90minutes
5400s, 5400sec, 5400second5400seconds. Il valore predefinito è 30m (30 minuti).
--hangdump-type Specifica il tipo di scarico. I valori validi sono Mini, Heap, Triage, Full. Il valore predefinito è Full. Per altre informazioni, vedere Tipi di mini dump.