Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 e Full. Di default è Full. Per altre informazioni, vedere Tipi di mini dump. |
--crash-report |
[Solo per Linux/macOS] Genera un report di arresto anomalo in formato JSON quando il processo di test va in arresto anomalo. Combinare con --crashdump per generare anche un file di dump. Richiede .NET 7+ se usato da solo o .NET 6+ se combinato con --crashdump. Non supportato in Windows perché il runtime di .NET ignora le variabili di ambiente DOTNET_EnableCrashReport e DOTNET_EnableCrashReportOnly in Windows (dotnet/runtime#80191). Disponibile in MTP a partire dalla versione 2.3.0. |
--crash-report-if-supported |
Come --crash-report, ma ignorato, con un messaggio informativo, sulle piattaforme in cui la generazione di rapporti di arresto anomalo non è supportata. Usare questa opzione per mantenere la stessa riga di comando tra matrici CI che includono Windows. Si escludono con --crash-report a vicenda. Disponibile in MTP a partire dalla versione 2.3.0. |
--crash-sequence |
Determina se viene generato, insieme al dump di arresto anomalo o al report di arresto anomalo, un file di sequenza che elenca i test iniziati e terminati durante la sessione di test. Il file consente di identificare i test in esecuzione al momento dell'arresto anomalo senza esaminare il dump. I valori validi sono on (impostazione predefinita; accetta trueanche , enablee 1) o off (accetta falseanche , disablee 0). Disponibile in MTP a partire dalla versione 2.3.0. |
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. Supporta i segnaposto seguenti: {pname} (nome dell'applicazione di test), {pid} (ID del processo), {asm} (nome dell'assembly di ingresso), {tfm} (identificatore del framework di destinazione) e {time} (timestamp). Il token legacy %p (ID processo) è supportato anche per la compatibilità con le versioni precedenti. |
--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.5hours90m, 90min, 90minute90minutes5400s, 5400sec, 5400second5400seconds500ms, 500mil, 500millisecond500milliseconds1d, 1day, 1days. Un numero bare (senza suffisso) viene interpretato come millisecondi. Il valore predefinito è 30m (30 minuti). |
--hangdump-type |
Specifica il tipo di scarico. I valori validi sono Mini, Heap, Full, Triage (non disponibile in .NET Framework) e None. Di default è Full. Per altre informazioni, vedere Tipi di mini dump. Il None valore è disponibile in MTP a partire dalla versione 2.1.0. |
--hangdump-type-if-supported |
Uguale a --hangdump-type, ma ripiega, con un messaggio informativo, sul tipo di dump supportato più simile quando il tipo richiesto non è disponibile nel runtime corrente. Ad esempio, Triage è supportato solo in .NET (Core) ed esegue il fallback a Mini in .NET Framework. Usare questa opzione per mantenere la stessa riga di comando tra matrici CI che combinano .NET (Core) e .NET Framework. I valori validi sono Mini, Heap, Full, Triage e None. Si escludono con --hangdump-type a vicenda. Disponibile in MTP a partire dalla versione 2.3.0. |