다음을 통해 공유


크래시 및 멈춤 덤프

이러한 기능을 사용하려면 각 섹션에 설명된 대로 추가 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 Description
--crashdump 테스트 호스트 프로세스가 충돌할 때 덤프 파일을 생성합니다. .NET 6.0 이상에서 지원됩니다.
⁠-⁠-⁠crashdump-⁠filename 덤프의 파일 이름을 지정합니다.
--crashdump-type 덤프의 형식을 지정합니다. 유효한 값은 Mini, Heap, Triage, Full. 기본값은 Full. 자세한 내용은 미니 덤프 형식을 참조하세요.

주의

확장은 .NET Framework와 호환되지 않으며 자동으로 무시됩니다. .NET Framework 지원의 경우 Sysinternals ProcDump를 사용하여 사후 관리 디버깅을 사용하도록 설정합니다. 자세한 내용은 Windows Sysinternals ProcDump: 사후 디버깅 사용을 참조하세요. 또한 사후 관리 디버깅 솔루션은 .NET 대한 프로세스 크래시 정보를 수집하므로 .NET 및 .NET Framework 테스트 애플리케이션을 모두 대상으로 하는 경우 확장을 사용하지 않도록 할 수 있습니다.

덤프 중단

이 확장을 사용하면 지정된 시간 제한 후에 덤프 파일을 만들 수 있습니다. 이 확장에는 Microsoft.Testing.Extensions.HangDump NuGet 패키지가 필요합니다.

수동 등록

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

옵션

Option Description
--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. 자세한 내용은 미니 덤프 형식을 참조하세요.