次の方法で共有


クラッシュダンプとハングダンプ

これらの機能では、各セクションで説明されているように、追加の NuGet パッケージをインストールする必要があります。

ヒント

Microsoft.Testing.Platform.MSBuild (MSTest、NUnit、xUnit ランナーによって推移的に含まれる) を使用する場合、これらの拡張機能は NuGet パッケージをインストールするときに自動的に登録されます。コードの変更は必要ありません。 この記事で指定されている手動登録は、 <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>設定して自動生成されたエントリ ポイントを無効にした場合にのみ必要です。

クラッシュ ダンプ

この拡張機能を使用すると、プロセスがクラッシュした場合にクラッシュ ダンプ ファイルを作成できます。 この拡張機能には、 Microsoft.Testing.Extensions.CrashDump NuGet パッケージが必要です。

手動登録

var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHostControllers.AddCrashDumpProvider();

オプション

Option [説明]
--crashdump テスト ホスト プロセスがクラッシュしたときにダンプ ファイルを生成します。 .NET 6.0 以降でサポートされています。
⁠-⁠-⁠crashdump-⁠filename ダンプのファイル名を指定します。
--crashdump-type ダンプの種類を指定します。 有効な値は、 MiniHeapTriageFullです。 既定値は Full です。 詳細については、「 ミニ ダンプの種類」を参照してください。

注意事項

拡張機能は .NET Framework と互換性がありません。暗黙的に無視されます。 .NET Framework のサポートでは、Sysinternals ProcDump を使用して事後デバッグを有効にします。 詳細については、「 事後デバッグの有効化: ウィンドウ Sysinternals ProcDump」を参照してください。 事後デバッグ ソリューションでは.NET のプロセス クラッシュ情報も収集されるため、.NET と .NET Framework の両方のテスト アプリケーションを対象としている場合は、拡張機能の使用を回避できます。

ハング ダンプ

この拡張機能を使用すると、特定のタイムアウト後にダンプ ファイルを作成できます。 この拡張機能には、 Microsoft.Testing.Extensions.HangDump NuGet パッケージが必要です。

手動登録

var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHostControllers.AddHangDumpProvider();

オプション

Option [説明]
--hangdump テスト ホスト プロセスがハングした場合に備え、ダンプ ファイルを生成します。
-⁠-hangdump-filename ダンプのファイル名を指定します。
--hangdump-timeout ダンプが生成された後の非アクティビティーの継続時間を指定します。 タイムアウト値は、次のいずれかの形式で指定されます。
1.5h1.5hour1.5hours
90m90min90minute90minutes
5400s5400sec5400second5400seconds。 既定値は 30m (30 分) です。
--hangdump-type ダンプの種類を指定します。 有効な値は、 MiniHeapTriageFullです。 既定値は Full です。 詳細については、「 ミニ ダンプの種類」を参照してください。