다음을 통해 공유


덤프

덤프는 덤프가 생성된 당시 프로세스의 스냅샷을 포함하는 파일이며 애플리케이션 상태를 검사하는 데 유용할 수 있습니다. 프로덕션 또는 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 애플리케이션에서 덤프를 사용하여 교착 상태를 디버그하는 방법을 안내합니다.