诊断扩展

本文列出并说明与诊断功能相关的所有 Microsoft.Testing.Platform 扩展。

内置选项

以下 平台选项 提供了用于对测试应用进行故障排除的有用信息:

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

还可以使用环境变量启用诊断日志:

环境变量名称 DESCRIPTION
TESTINGPLATFORM_DIAGNOSTIC 如果设置为 1,则启用诊断日志记录。
TESTINGPLATFORM_DIAGNOSTIC_VERBOSITY 定义详细程度级别。 可用值包括 TraceDebugInformationWarningErrorCritical
TESTINGPLATFORM_DIAGNOSTIC_OUTPUT_DIRECTORY 诊断日志记录的输出目录,如果未指定,则会在默认的 TestResults 目录中生成该文件。
TESTINGPLATFORM_DIAGNOSTIC_OUTPUT_FILEPREFIX 日志文件名的前缀。 默认为 "log_"
TESTINGPLATFORM_DIAGNOSTIC_FILELOGGER_SYNCHRONOUSWRITE 强制内置的文件记录器以同步方式写入日志。 对于在进程崩溃时不想丢失任何日志条目的场景非常有用。 这会降低测试执行速度。

注释

环境变量优先于命令行参数。

故障转储

此扩展允许在进程崩溃时创建崩溃转储文件。 此扩展作为 Microsoft.Testing.Extensions.CrashDump NuGet 包的一部分提供。

重要

该包采用 Microsoft .NET 库闭源免费使用许可模型。

若要配置故障转储文件生成,请使用以下选项:

选项 DESCRIPTION
--crashdump 在测试主机进程崩溃时生成转储文件。 支持在 .NET 6.0+ 中实现。
⁠-⁠-⁠crashdump-⁠filename 指定转储文件的文件名。
--crashdump-type 指定转储文件的类型。 有效值为 Mini,, HeapTriageFull 默认值为 Full. 有关详细信息,请参阅小型转储的类型

谨慎

该扩展与 .NET Framework 不兼容,将被无提示忽略。 要对 .NET Framework 提供支持,可以使用 Sysinternals ProcDump 启用事后调试。 有关详细信息,请参阅 “启用事后调试:Window Sysinternals ProcDump”。 事后调试解决方案还将收集 .NET 的进程崩溃信息,以便在面向 .NET 和 .NET Framework 测试应用程序时避免使用扩展。

挂起转储

使用此扩展可以在给定的超时后创建转储文件。 此扩展作为 Microsoft.Testing.Extensions.HangDump 包的一部分提供。

重要

该包采用 Microsoft .NET 库闭源免费使用许可模型。

若要配置挂起转储文件生成,请使用以下选项:

选项 DESCRIPTION
--hangdump 在测试主机进程挂起的情况下生成转储文件。
-⁠-hangdump-filename 指定转储文件的文件名。
--hangdump-timeout 指定生成转储之前的超时。 超时值是采用以下格式之一指定的:
1.5h1.5hour1.5hours
90m90min90minute90minutes
5400s5400sec5400second5400seconds。 默认值为 30m (30 分钟)。
--hangdump-type 指定转储文件的类型。 有效值为 Mini,, HeapTriageFull 默认值为 Full. 有关详细信息,请参阅小型转储的类型