명령줄에서 프로파일링 방법을 사용하여 성능 데이터 수집Using Profiling Methods to Collect Performance Data from the Command Line

프로파일링하는 응용 프로그램의 유형, 사용하려는 프로파일링 방법, 그리고 대상 응용 프로그램이 네이티브 코드로 작성되었는지 아니면 .NET Framework.NET Framework 코드로 작성되었는지에 따라 선택하는 Visual StudioVisual Studio 프로파일링 도구 명령줄 도구 및 옵션이 달라집니다.Your choice of Visual StudioVisual Studio Profiling Tools command-line tools and options depends on factors such as the type of application that you are profiling, the profiling method that you want to use, and whether the target application is written in native or .NET Framework.NET Framework code.

이 항목에서 명령줄 절차 항목은 사용자가 선택하는 프로파일링 방법에 따라 구성되어 있습니다.This topic organizes the command-line procedural topics according to the profiling method that you choose.

항목 내용In this topic

샘플링 방법을 사용하여 성능 통계 수집Using the sampling method to collect performance statistics

계측 방법을 사용하여 자세한 타이밍 데이터 수집Using the instrumentation method to collect detailed timing data

.NET 메모리 방법을 사용하여 메모리 할당 및 개체 수명 데이터 수집Using .NET memory methods to collect memory allocation and object lifetime data

동시성 방법을 사용하여 리소스 경합 및 스레드 작업 데이터 수집Using the concurrency method to collect resource contention and thread activity data

프로파일링 실행에 계층 상호 작용 데이터 추가Adding tier interaction data to a profiling run

샘플링 방법을 사용하여 성능 통계 수집Using the sampling method to collect performance statistics

프로파일링 도구의 샘플링 방법은 프로파일링 실행에서 지정된 간격으로 성능 데이터를 수집합니다.The Profiling Tools sampling method collects performance data at specified intervals in a profiling run. 샘플링 데이터는 CPU 바인딩 성능 문제에 대한 정보를 제공할 수 있으며, 응용 프로그램의 성능 파악을 시작하는 효율적인 수단으로 활용할 수 있습니다.Sampling data can provide insights into CPU-bound performance issues, and it can be a good way to start exploring the performance of an application.

프로파일러와 응용 프로그램은 동시에 시작할 수도 있고 응용 프로그램의 실행 중인 인스턴스에 프로파일러를 연결할 수도 있습니다.You can start the profiler and the application at the same time, or you can attach the profiler to a running instance of an application.

작업Task 대상 응용 프로그램 유형Target application type
응용 프로그램 시작Launch an application - 독립 실행형 응용 프로그램- Stand-Alone Applications
실행 중인 프로세스에 연결Attach to a running process - .NET Framework 독립 실행형 응용 프로그램- .NET Framework Stand-Alone Applications
- 기본 독립 실행형 응용 프로그램- Native Stand-Alone Applications
- ASP.NET 웹 응용 프로그램- ASP.NET Web Applications
- .NET 서비스- .NET Services
- 기본 서비스- Native Services

계측 방법을 사용하여 자세한 타이밍 데이터 수집Using the instrumentation method to collect detailed timing data

프로파일링 도구의 계측 방법은 소프트웨어 프로브가 포함된 응용 프로그램 이진 파일의 복사본에서 성능 데이터를 수집하여 성능 정보를 기록합니다.The Profiling Tools instrumentation method collects performance data from copies of application binaries that contain software probes to record performance information. 계측 데이터는 계측된 각 함수의 시작과 끝, 그리고 계측된 함수에서 다른 함수로의 모든 호출에서 수집됩니다.Instrumentation data is collected at the start and end of each instrumented function and at every call to other functions from the instrumented function. 계측 방법은 디스크 사용과 같은 I/O 문제를 통해 성능 문제를 파악하는 데 유용합니다.The instrumentation method is useful for discovering performance issues with I/O issues such as disk usage.

VInstr.exe 도구를 사용하여 계측된 이진 파일을 만듭니다.You create the instrumented binary with the VInstr.exe tool. 프로파일러를 초기화하고 나면 대상 응용 프로그램을 실행할 때 계측된 이진 파일에서 데이터가 자동으로 수집됩니다.After you initialize the profiler, data is automatically collected from the instrumented binaries when you run the target application.

대상 응용 프로그램 유형Target Application Type

.NET 메모리 방법을 사용하여 메모리 할당 및 개체 수명 데이터 수집Using .NET memory methods to collect memory allocation and object lifetime data

프로파일링 도구의 .NET 메모리 방법을 사용하면 .NET Framework.NET Framework의 개체 수명에 대한 정보 및 .NET Framework.NET Framework 메모리 할당 데이터를 수집할 수 있습니다.The Profiling Tools .NET memory method enables you to collect .NET Framework.NET Framework memory allocation data and information about the lifetime of objects in the .NET Framework.NET Framework.

프로파일러를 사용하여 대상 응용 프로그램을 시작할 수 있고, 응용 프로그램의 실행 중인 인스턴스에 프로파일러를 연결할 수 있으며, 응용 프로그램의 계측된 버전을 만들어 .NET Framework.NET Framework 메모리 데이터와 함께 상세한 타이밍 정보를 수집할 수 있습니다.You can start the target application by using the profiler; you can attach the profiler to a running instance of an application; and you can create instrumented versions of the application to collect detailed timing information together with the .NET Framework.NET Framework memory data.

작업Task 대상 응용 프로그램 유형Target application type
응용 프로그램 시작Launch an application - 독립 실행형.NET Framework 응용 프로그램- Stand-Alone .NET Framework Applications
실행 중인 프로세스에 연결Attach to a running process - .NET framework 독립 실행형 응용 프로그램- .NET Framework Stand-Alone Applications
- ASP.NET 웹 응용 프로그램- ASP.NET Web Applications
- .NET 서비스- .NET Services
계측 모듈Instrument modules - .NET Framework 독립 실행형 구성 요소- .NET Framework Stand-Alone Components
- 정적으로 컴파일된 ASP.NET 웹 응용 프로그램- Statically Compiled ASP.NET Web Applications
- 동적으로 컴파일된 ASP.NET 웹 응용 프로그램- Dynamically Compiled ASP.NET Web Applications
- .NET 서비스- .NET Services

동시성 방법을 사용하여 리소스 경합 및 스레드 작업 데이터 수집Using the concurrency method to collect resource contention and thread activity data

프로파일링 도구의 동시성 방법을 사용하면 다중 스레딩 응용 프로그램에서 리소스 경합 및 스레드/프로세스 작업 데이터를 수집할 수 있습니다.The Profiling Tools concurrency method enables you to collect resource contention and thread and process activity data from multithreaded applications.

프로파일러를 사용하여 응용 프로그램을 시작할 수도 있고 응용 프로그램의 실행 중인 인스턴스에 프로파일러를 연결할 수도 있습니다.You can start the application by using the profiler, or you can attach the profiler to a running instance of an application.

작업Task 대상 응용 프로그램 유형Target application type
응용 프로그램 시작Launch an application - 독립 실행형.NET Framework 응용 프로그램- Stand-Alone .NET Framework Application
- 독립 실행형 기본 응용 프로그램- Stand-Alone Native Application
실행 중인 프로세스에 연결Attach to a running process - .NET Framework 독립 실행형 응용 프로그램- .NET Framework Stand-Alone Application
- 독립 실행형 기본 응용 프로그램- Native Stand-Alone Application
- ASP.NET 웹 응용 프로그램- ASP.NET Web Application
- .NET 서비스- .NET Service
- 기본 서비스- Native Service

프로파일링 실행에 계층 상호 작용 데이터 추가Adding tier interaction data to a profiling run

프로파일링 실행에 계층 상호 작용 데이터를 추가하려면 명령줄 프로파일링 도구를 사용해서 특정 절차를 수행해야 합니다.Adding tier interaction data to a profiling run requires specific procedures with the command line profiling tools. 계층 상호 작용 데이터 수집을 참조하세요.See Collecting tier interaction data

참고 항목See Also

독립 실행형 응용 프로그램 프로파일링 Profiling Stand-Alone Applications
ASP.NET 웹 응용 프로그램 프로파일링 Profiling ASP.NET Web Applications
서비스 프로파일링Profiling Services