诊断扩展
本文列出并介绍与诊断功能相关的所有 Microsoft Testing Platform
扩展。
内置选项
以下平台选项提供了对测试应用进行故障排除非常有用的信息:
--info
--diagnostic
--diagnostic-filelogger-synchronouswrite
--diagnostic-verbosity
--diagnostic-output-fileprefix
--diagnostic-output-directory
还可以使用环境变量启用诊断日志:
Environment variable name | 说明 |
---|---|
TESTINGPLATFORM_DIAGNOSTIC |
设置为 1 可启用诊断日志记录。 |
TESTINGPLATFORM_DIAGNOSTIC_VERBOSITY |
定义详细程度级别。 可用值包括 Trace 、Debug 、Information 、Warning 、Error 和 Critical 。 |
TESTINGPLATFORM_DIAGNOSTIC_OUTPUT_DIRECTORY |
诊断日志记录的输出目录,如果未指定,则会在默认的 TestResults 目录中生成该文件。 |
TESTINGPLATFORM_DIAGNOSTIC_OUTPUT_FILEPREFIX |
日志文件名的前缀。 默认为 "log_" 。 |
TESTINGPLATFORM_DIAGNOSTIC_FILELOGGER_SYNCHRONOUSWRITE |
强制内置的文件记录器以同步方式写入日志。 对于在进程崩溃时不想丢失任何日志条目的场景非常有用。 这会降低测试执行速度。 |
注意
环境变量优先于命令行参数。
故障转储
此扩展可以在进程崩溃时创建故障转储文件。 此扩展作为 Microsoft.Testing.Extensions.CrashDump NuGet 包的一部分提供。
重要
该包采用 Microsoft .NET 库闭源免费使用许可模型。
若要配置故障转储文件生成,请使用以下选项:
选项 | 说明 |
---|---|
--crashdump |
在测试主机进程崩溃时生成转储文件。 在 .NET 6.0+ 中受支持。 |
--crashdump-filename |
指定转储文件的文件名。 |
--crashdump-type |
指定转储文件的类型。 有效值为 Mini 、Heap 、Triage 和 Full 。 默认为 Full 。 有关详细信息,请参阅小型转储的类型。 |
注意
该扩展与 .NET Framework 不兼容,将被无提示忽略。 对于 .NET Framework 支持,可以使用 Sysinternals ProcDump 启用事后调试。 有关详细信息,请参阅启用事后调试:Window Sysinternals ProcDump。 事后调试解决方案还将收集 .NET 的进程崩溃信息,以便在面向 .NET 和 .NET Framework 测试应用程序时避免使用扩展。
挂起转储
使用此扩展可以在给定的超时后创建转储文件。 此扩展作为 Microsoft.Testing.Extensions.HangDump 包的一部分提供。
重要
该包采用 Microsoft .NET 库闭源免费使用许可模型。
若要配置挂起转储文件生成,请使用以下选项:
选项 | 说明 |
---|---|
--hangdump |
在测试主机进程挂起的情况下生成转储文件。 |
--hangdump-filename |
指定转储文件的文件名。 |
--hangdump-timeout |
指定生成转储之前的超时。 超时值是采用以下格式之一指定的:1.5h , 1.5hour , 1.5hours 90m , 90min , 90minute , 90minutes 5400s 、5400sec 、5400second 、5400seconds 。 默认为 30m (30 分钟)。 |
--hangdump-type |
指定转储文件的类型。 有效值为 Mini 、Heap 、Triage 和 Full 。 默认为 Full 。 有关详细信息,请参阅小型转储的类型。 |