Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Ces fonctionnalités nécessitent l’installation de packages NuGet supplémentaires, comme décrit dans chaque section.
Conseil / Astuce
Lors de l’utilisation de Microsoft.Testing.Platform.MSBuild (inclus transitivement par MSTest, NUnit et xUnit Runners), ces extensions sont enregistrées automatiquement lorsque vous installez leurs packages NuGet, sans modification du code nécessaire. L’inscription manuelle spécifiée dans cet article n’est requise que si vous avez désactivé le point d’entrée généré automatiquement en définissant <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.
Vidage sur incident
Cette extension vous permet de créer un fichier de vidage sur incident en cas de blocage du processus. Cette extension nécessite le package NuGet Microsoft.Testing.Extensions.CrashDump .
Inscription manuelle
var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHostControllers.AddCrashDumpProvider();
Options
| Choix | Descriptif |
|---|---|
--crashdump |
Génère un fichier de vidage lorsque le processus hôte de test se bloque. Pris en charge dans .NET 6.0+. |
--crashdump-filename |
Spécifie le nom du fichier de vidage. |
--crashdump-type |
Spécifie le type de vidage. Les valeurs valides sont Mini, Heap, Triage et Full. La valeur par défaut est Full. Pour plus d’informations, consultez Types de mini-images mémoire. |
--crash-report |
[Linux/macOS uniquement] Génère un rapport d’incident JSON lorsque le processus de test se bloque. Combinez avec --crashdump pour générer également un fichier de vidage mémoire. Nécessite .NET 7+ lorsqu’il est utilisé seul ou .NET 6+ lorsqu’il est combiné avec --crashdump. Non pris en charge sur Windows, car le runtime .NET ignore les variables d’environnement DOTNET_EnableCrashReport et DOTNET_EnableCrashReportOnly sur Windows (dotnet/runtime#80191). Disponible dans MTP à compter de la version 2.3.0. |
--crash-report-if-supported |
Comme --crash-report, mais ignoré, avec un message d’information, sur les plateformes où la génération de rapports d’incident n’est pas prise en charge. Utilisez cette option pour conserver la même ligne de commande sur les matrices CI qui incluent Windows. Mutuellement exclusif avec --crash-report. Disponible dans MTP à compter de la version 2.3.0. |
--crash-sequence |
Détermine si un fichier de séquence répertoriant les tests qui ont démarré et se sont terminés pendant la session de test est généré en parallèle du fichier de vidage sur incident ou du rapport d’incident. Le fichier permet d’identifier les tests qui s’exécutaient au moment de l’incident sans inspecter le vidage. Les valeurs valides sont on (valeur par défaut ; accepte trueégalement , enableet 1) ou off (accepte falseégalement , disableet ).0 Disponible dans MTP à compter de la version 2.3.0. |
Avertissement
L'extension n'est pas compatible avec .NET Framework et sera ignorée en mode silencieux. Pour la prise en charge de .NET Framework, vous activez le débogage postmortem avec Sysinternals ProcDump. Pour plus d’informations, consultez Activation du débogage post-mortem : Windows Sysinternals ProcDump. La solution de débogage postmortem collecte également des informations sur les incidents de processus pour .NET afin de pouvoir éviter l'utilisation de l'extension si vous ciblez à la fois des applications de test .NET et .NET Framework.
Vidage sur blocage
Cette extension vous permet de créer un fichier de vidage après un délai d’attente donné. Cette extension nécessite le package NuGet Microsoft.Testing.Extensions.HangDump .
Inscription manuelle
var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHostControllers.AddHangDumpProvider();
Options
| Choix | Descriptif |
|---|---|
--hangdump |
Génère un fichier de vidage au cas où le processus hôte de test se bloque. |
--hangdump-filename |
Spécifie le nom du fichier de vidage. Prend en charge les espaces réservés suivants : {pname} (nom de l’application de test), {pid} (identifiant du processus), {asm} (nom de l’assembly d’entrée), {tfm} (identificateur du framework cible) et {time} (horodatage). Le token hérité %p (identifiant de processus) est également pris en charge pour la rétrocompatibilité. |
--hangdump-timeout |
Spécifie la durée d’absence d’activité après laquelle le vidage est généré. La valeur du délai d’expiration est spécifiée dans l’un des formats suivants :1.5h
1.5hour
1.5hours
90m
90min
90minute
90minutes
5400s
5400sec
5400second
5400seconds
500ms
500mil
500millisecond
500milliseconds
1d, 1day, 1days. Un nombre nu (sans suffixe) est interprété en millisecondes. La valeur par défaut est 30m (30 minutes). |
--hangdump-type |
Spécifie le type de vidage. Les valeurs valides sont Mini, Heap, Full, Triage (non disponibles sur .NET Framework) et None. La valeur par défaut est Full. Pour plus d’informations, consultez Types de mini-images mémoire. La None valeur est disponible dans MTP à partir de la version 2.1.0. |
--hangdump-type-if-supported |
Identique à --hangdump-type, mais bascule, avec un message d’information, vers le type de vidage pris en charge le plus proche lorsque le type demandé n’est pas disponible dans l’environnement d’exécution actuel. Par exemple, Triage est uniquement pris en charge sur .NET (Core) et revient à Mini sur .NET Framework. Utilisez cette option pour conserver la même ligne de commande sur les matrices CI qui combinent .NET (Core) et .NET Framework. Les valeurs acceptables sont : Mini, Heap, Full, Triage et None. Mutuellement exclusif avec --hangdump-type. Disponible dans MTP à compter de la version 2.3.0. |