덤프
덤프는 덤프가 생성된 당시 프로세스의 스냅샷을 포함하는 파일이며 애플리케이션 상태를 검사하는 데 유용할 수 있습니다. 프로덕션 또는 CI 환경과 같이 디버거를 연결하기 어려운 경우 덤프를 사용하여 .NET 애플리케이션을 디버그할 수 있습니다. 덤프를 사용하면 문제가 있는 프로세스의 상태를 캡처하여 애플리케이션을 중지하지 않고도 검사할 수 있습니다.
덤프 수집
덤프는 앱이 실행되는 플랫폼에 따라 다양한 방법으로 수집할 수 있습니다.
참고 항목
덤프는 실행 중인 프로세스의 전체 메모리를 포함할 수 있기 때문에 중요한 정보를 포함할 수 있습니다. 덤프를 처리할 때는 모든 보안 제한 사항과 지침을 고려해야 합니다.
팁
덤프 수집, 분석 및 기타 주의 사항에 대해 자주 묻는 질문은 덤프: FAQ를 참조하세요.
환경 변수를 사용하여 크래시 발생 시 덤프를 수집하도록 애플리케이션을 구성할 수 있습니다.
앱이 아직 크래시되지 않은 경우에 덤프를 수집하는 것이 좋습니다. 예를 들어 교착 상태에 있는 것으로 보이는 애플리케이션의 상태를 검사하려는 경우 크래시 발생 시 덤프를 수집하도록 환경 변수를 구성하면 앱이 계속 실행되고 있기 때문에 유용하지 않게 됩니다.
dotnet-dump는 덤프를 수집하는 간단한 플랫폼 간 명령줄 도구입니다. Visual Studio 또는 windbg와 같은 다른 여러 디버거 도구에도 덤프 수집 기능이 있습니다.
프로덕션 환경에서 앱을 실행하거나 분산된 방식(여러 서비스, 복제본)으로 실행하는 경우 dotnet-monitor는 덤프 수집 및 송신을 비롯한 많은 일반적인 시나리오 및 임시 진단 조사에 대한 지원을 제공합니다. 이를 통해 원격으로 또는 트리거 조건에 따라 덤프를 수집할 수 있습니다.
덤프 분석
Linux에서 수집된 덤프 분석과 관련된 정보를 확인하려면 Linux 덤프 디버그로 이동합니다.
Windows에서 수집된 덤프 분석과 관련된 정보를 확인하려면 Windows 덤프 디버그로 이동합니다.
메모리 분석
앱의 메모리가 계속 증가하는 경우 애플리케이션에서 메모리 분석을 수행할 수 있지만, 그 이유는 확실하지 않습니다. 메모리 누수 디버그 자습서에서는 dotnet-sos 명령 dumpheap 및 gcroot와 함께 dotnet CLI 도구를 사용하여 메모리 누수를 디버그하는 방법을 보여줍니다.
Visual Studio 메모리 분석을 사용하여 Windows에서 메모리 누수 진단을 수행할 수 있습니다.
참고 항목
덤프를 활용하여 .NET 애플리케이션에서 문제를 진단하는 방법에 대해 자세히 알아봅니다.
Debug Linux dumps(Linux 덤프 디버그) 자습서에서는 Linux에서 수집된 덤프를 디버그하는 방법을 안내합니다.
Debug deadlock(교착 상태 디버그) 자습서에서는 .NET 애플리케이션에서 덤프를 사용하여 교착 상태를 디버그하는 방법을 안내합니다.
.NET