共用方式為


診斷擴充功能

本文列出並說明與診斷功能相關的所有 Microsoft Testing Platform 擴充功能。

內建選項

下列 平台選項 提供針對測試應用程式進行疑難解答的實用資訊:

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

您也可以使用環境變數來啟用診斷記錄:

環境變數名稱 描述
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 封閉原始碼的程式庫,使用免費使用的授權模式。

若要設定當機傾印檔案生成,請使用下列選項:

選擇 描述
--crashdump 當測試主機進程當機時產生傾印檔案。 .NET 6.0+ 支援。
⁠-⁠-⁠crashdump-⁠filename 指定轉存的檔名。
--crashdump-type 指定轉儲的類型。 有效值為 MiniHeapTriageFull。 預設值為 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.5h1.5hour1.5hours
90m90min90minute90minutes
5400s5400sec5400second5400seconds。 預設為 30m(30 分鐘)。
--hangdump-type 指定傾倒的類型。 有效值為 MiniHeapTriageFull。 預設值為 Full。 如需詳細資訊,請參閱 迷你轉儲類型