릴리스 또는 디버그 빌드에서 프로파일링 도구 실행(C#, Visual Basic, C++, F#)
Visual Studio는 성능 측정 및 프로파일링 도구를 선택할 수 있습니다. CPU 사용량 및 메모리 사용량과 같은 일부 도구는 릴리스 빌드에서 또는 앱을 디버깅하는 동안(디버그 빌드) 실행할 수 있습니다. 진단 도구 창에 표시되는 도구는 디버깅 세션 중에만 실행할 있습니다. 성능 프로파일러에 표시되는 도구는 일반적으로 릴리스 빌드에서 디버거 없이 실행될 있으며, 데이터를 중지하고 수집하도록 선택한 후 결과를 분석합니다(사후 분석용).
성능 프로파일러와 디버거 통합 진단 도구는 다양한 정보와 환경을 제공합니다. 진단 도구를 사용하는 동안 디버거는 변수 값을 표시하고 중단점을 설정할 수 있습니다.
성능 프로파일러의 릴리스 빌드 성능 번호가 가장 정확하고 정확합니다. 이러한 도구를 사용하면 최종 사용자 환경에 더 가까운 결과를 얻을 수 있습니다. 일반적으로 프로파일링 도구를 사용하기 위한 기본 방법입니다. 그러나 디버그 빌드에서 디버거를 사용하면 특히 중단점 및 코드 단계별 실행과 같은 디버거 기능을 사용하려는 경우 성능 문제를 좁히는 데 도움이 될 수 있는 시나리오가 있을 수 있습니다.
릴리스 또는 디버그 빌드에서 프로파일링 도구 사용 중에서 결정할 수 있도록 다음을 고려합니다.
- 릴리스 빌드는 함수 호출 및 상수 인라인화, 사용되지 않는 코드 경로 정리 및 디버거에서 사용할 수 없는 방식으로 변수 저장과 같은 최적화를 제공합니다. 디버그 빌드에는 이러한 최적화가 부족하기 때문에 디버그 빌드의 성능 수치는 정확도가 떨어집니다.
- 릴리스 빌드와 디버그 빌드 간의 차이점 외에도 디버거 자체는 예외 및 모듈 로드 이벤트를 가로채는 것과 같은 필요한 디버거 작업을 수행하므로 성능 시간을 변경합니다.
- CPU 집약적 호출로 인한 성능 문제의 경우 릴리스 빌드와 디버그 빌드 간에 상당한 성능 차이가 있을 수 있습니다. 릴리스 빌드에 CPU 성능 문제가 있는지 확인합니다.
- 파일 I/O 또는 네트워크 응답성 문제와 같은 외부 성능 문제는 릴리스 빌드 또는 디버그 빌드에서 크게 다르지 않습니다.
- 디버그 빌드에서만 문제가 발생하는 경우 릴리스 빌드를 사용하여 도구를 실행할 필요가 없습니다.
- .NET 개체 할당 도구와 같은 일부 도구는 성능 프로파일러(비 디버거 시나리오)에서만 사용할 수 있습니다.
릴리스 빌드에서 프로파일링 데이터 수집
릴리스 빌드에서 성능 데이터를 수집하려면 성능 프로파일러 도구를 실행합니다.
Visual Studio에서 프로젝트를 열고 솔루션 구성을 릴리스로 설정한 다음, 배포 대상으로 로컬 Windows 디버거(또는 로컬 컴퓨터)를 선택합니다.
디버그>성능 프로파일러를 선택하거나, Alt+F2를 누릅니다.
진단 도구 시작 페이지에서 실행할 도구를 하나 이상 선택합니다. 프로젝트 유형, 운영 체제 및 프로그래밍 언어에 적용할 수 있는 도구만 표시됩니다. 모든 도구 표시를 선택하여 이 진단 세션에 대해 사용하지 않도록 설정된 도구도 확인합니다.
진단 세션을 시작하려면 시작선택합니다.
세션이 실행되는 동안 일부 도구는 진단 도구 페이지에 실시간 데이터 그래프를 표시하며 데이터 수집을 일시 중지하고 다시 시작하는 옵션을 표시할 수 있습니다.
수집합니다.
수집합니다.
진단 세션을 종료하려면 컬렉션 중지을 선택합니다.
분석된 데이터는 보고서 페이지에 나타납니다.
릴리스 빌드에서 사용할 수 있는 도구 및 보고서를 분석하는 방법에 대한 자세한 내용은 다음을 참조하세요.
- CPU 프로파일링 사용하여 성능 분석
- 메모리 사용량 분석
- .NET 코드 대한 메모리 사용량 분석
- 계측 데이터 분석
- .NET 카운터 분석하기
- .NET 비동기 코드 성능 분석
- 데이터베이스 성능 분석하기
- 이벤트 확인
- GPU 사용량 분석
메모
다시 시작을 사용하여 시작 페이지를 건너뛰고 Alt+F2를 눌러 이전 설정으로 자동 실행하거나 디버그 > 성능 프로파일러를 클릭하여 실행합니다.
(선택 사항) 보고서를 저장한 다음 나중에 진단 도구 시작 페이지의 최근에 열린 세션 목록에서 열 수 있습니다.
디버깅하는 동안 프로파일링 데이터 수집
디버그>시작 디버깅를 선택하거나 F5키를 눌러 Visual Studio에서 디버깅을 시작하면, 기본적으로 진단 도구 창이 나타납니다. 수동으로 열려면 디버그>Windows>표시 진단 도구선택합니다. 진단 도구 창에는 이벤트, 프로세스 메모리, CPU 사용량 및 .NET 카운터에 대한 정보가 표시됩니다.
- 도구 모음의 설정 아이콘을 사용하여 CPU 사용량, 메모리 사용량또는 .NET 카운터를 볼지를 선택할 수 있습니다.
- 도구 모음의 설정 아이콘을 사용하여 CPU 사용량, 메모리 사용량또는 UI 분석볼지 여부를 선택합니다.
설정 드롭다운 목록에서 설정을 선택하여 더 많은 옵션이 있는 진단 도구 속성 페이지를 엽니다.
Visual Studio Enterprise를 실행하는 경우 도구>옵션>IntelliTrace이동하여 IntelliTrace를 사용하거나 사용하지 않도록 설정할 수 있습니다.
디버깅을 중지하면 진단 세션이 종료됩니다.
디버깅하는 동안 사용할 수 있는 도구에 대한 자세한 내용은 다음을 참조하세요.
- CPU 사용량 분석하여 애플리케이션 성능을 측정합니다.
- Visual Studio 메모리 사용량 측정
- .NET 카운터 분석하기
이벤트 탭
디버깅 세션 중에 진단 도구 창의 이벤트 탭에 발생하는 진단 이벤트가 나열됩니다. '카테고리 접두사 중단점, 파일및 기타 카테고리를 사용하여 목록을 빠르게 검색하거나 관심 없는 카테고리를 건너뛸 수 있습니다.'
필터 드롭다운 목록을 사용하여 보이는 이벤트와 보이지 않는 이벤트의 범주를 선택하여 필터링하세요.
검색 상자를 사용하여 이벤트 목록에서 특정 문자열을 찾습니다. 세 가지 이벤트와 일치하는 파일 이름 모델 대한 검색 결과는 다음과 같습니다.
검색 상자를 사용하여 이벤트 목록에서 특정 문자열을 찾습니다. 다음은 4개의 이벤트와 일치하는 문자열 이름 대한 검색 결과입니다.
자세한 내용은 진단 도구 창의 이벤트 탭 검색 및 필터링 을(를) 참조하세요.
명령줄에서 프로파일링 데이터 수집
명령줄에서 성능 데이터를 측정하려면 Visual Studio 또는 원격 도구에 포함된 VSDiagnostics.exe사용할 수 있습니다. Visual Studio가 설치되지 않은 시스템에서 성능 추적을 캡처하거나 성능 추적 컬렉션을 스크립팅하는 데 유용합니다. 자세한 지침은 명령줄에서 애플리케이션 성능을 측정하는 방법 을(를) 참조하세요.