다음을 통해 공유


디버깅, 추적 및 프로파일링

비고

이 문서는 .NET Framework에만 적용됩니다. .NET 6 이상 버전을 포함하여 .NET의 최신 구현에는 적용되지 않습니다.

.NET Framework 애플리케이션을 디버그하려면 디버거가 애플리케이션에 연결하고 가능하면 애플리케이션 및 해당 CIL(공용 중간 언어)에 대한 기호와 선 맵을 모두 생성하도록 컴파일러 및 런타임 환경을 구성해야 합니다. 관리되는 애플리케이션을 디버그한 후에는 성능을 향상시키기 위해 프로파일될 수 있습니다. 프로파일링은 가장 자주 실행되는 코드를 생성하는 소스 코드 줄과 코드를 실행하는 데 걸리는 시간을 평가하고 설명합니다.

.NET Framework 애플리케이션은 많은 구성 세부 정보를 처리하는 Visual Studio를 사용하여 쉽게 디버깅됩니다. Visual Studio가 설치되지 않은 경우 .NET Framework 네임스페이스의 디버깅 클래스를 사용하여 .NET Framework System.Diagnostics 애플리케이션의 성능을 검사하고 개선할 수 있습니다. 이 네임스페이스에는 실행 흐름 추적을 위한 Trace, Debug, TraceSource 클래스와 코드 프로파일링을 위한 Process, EventLog, PerformanceCounter 클래스가 포함됩니다.

이 부분에서는

JIT-Attach 디버깅 활성화
.NET Framework 애플리케이션에 디버그 엔진을 JIT 연결하도록 레지스트리를 구성하는 방법을 보여 있습니다.

이미지를 디버그하기 쉽게 만들기
어셈블리를 더 쉽게 디버그할 수 있도록 JIT 추적 및 최적화를 해제하는 방법을 보여 줍니다.

추적 및 계측 애플리케이션
애플리케이션이 실행되는 동안 애플리케이션의 실행을 모니터링하는 방법 및 애플리케이션을 계측하여 성능이 얼마나 잘 수행되는지 또는 문제가 발생했는지 여부를 표시하는 방법을 설명합니다.

관리되는 디버깅 도우미를 사용하여 오류 진단
런타임 상태에 대한 정보를 제공하기 위해 CLR(공용 언어 런타임)과 함께 작동하는 디버깅 보조 기능인 관리되는 MDA(디버깅 도우미)에 대해 설명합니다.

디버거 표시 특성 사용하여 디버깅 향상
형식의 개발자가 해당 형식이 디버거에 표시될 때의 모양을 지정하는 방법을 설명합니다.

런타임 프로파일링
애플리케이션 성능에 대한 정보를 수집하는 방법을 알아봅니다.

성능 카운터
애플리케이션의 성능을 추적하는 데 사용할 수 있는 카운터에 대해 설명합니다.

Visual Studio에서 ASP.NET 또는 ASP.NET Core 앱 디버그 개발 중 또는 배포 후에 ASP.NET 애플리케이션을 디버그하는 방법에 대한 필수 구성 요소 및 지침을 제공합니다.

개발 가이드 애플리케이션 만들기, 구성, 디버깅, 보안 및 배포, 동적 프로그래밍, 상호 운용성, 확장성, 메모리 관리 및 스레딩에 대한 정보를 포함하여 애플리케이션 개발을 위한 모든 주요 기술 영역 및 작업에 대한 가이드를 제공합니다.