연습: 계측을 사용하여 명령줄 프로파일링Walkthrough: Command-Line Profiling Using Instrumentation

이 연습에서는 프로파일링 도구의 계측 방법을 사용하여 .NET Framework.NET Framework 독립 실행형 응용 프로그램을 프로파일링해 자세한 타이밍 및 호출 수 데이터를 수집하는 과정을 안내합니다.This walkthrough takes you through profiling a .NET Framework.NET Framework stand-alone application to collect detailed timing and call count data by using the instrumentation method of the Profiling Tools. 이 연습에서는 다음 작업을 수행합니다.In this walkthrough, you will accomplish the following tasks:

  • VSInstr 명령줄 도구를 사용하여 계측된 이진 파일을 생성합니다.Use the VSInstr command line tool to generate instrumented binaries.

  • VSPerfCLREnv 도구를 사용하여 .NET 프로파일링 데이터를 수집하도록 환경 변수를 설정합니다.Use the VSPerfCLREnv tool to set the environment variables to collect .NET profiling data.

  • VSPerfCmd 도구를 사용하여 프로파일링 데이터를 수집합니다.Use the VSPerfCmd tool to collect profiling data.

  • VSPerfReport 도구를 사용하여 프로파일링 데이터의 파일 기반 보고서를 생성합니다.Use the VSPerfReport tool to generate file-based reports of the profiling data.

필수 구성 요소Prerequisites

  • Visual Studio 애플리케이션 수명 주기 관리Visual Studio Application Lifecycle Management

  • C#에 대한 중간 정도의 이해도Intermediate understanding of C#

  • 명령줄 도구 사용법에 대한 중간 정도의 이해도Intermediate understanding of working with command-line tools

  • PeopleTrax 샘플의 복사본A copy of the PeopleTrax Sample

  • 프로파일링을 통해 제공되는 정보를 사용하려면 디버깅 기호 정보를 준비해 두는 것이 가장 좋습니다.To work with the information provided by profiling, it is best to have debugging symbol information available. 자세한 내용은 방법: Windows 기호 정보 참조를 참조하세요.For more information, see How to: Reference Windows Symbol Information.

계측 방법을 사용하여 명령줄 프로파일링Command Line Profiling Using the Instrumentation Method

계측은 계측된 모듈의 함수에 대한 진입 및 종료 시 타이밍 정보를 수집하는 프로브 함수를 특수하게 작성된 버전의 프로파일링된 이진 파일에 포함할 수 있는 프로파일링 방법입니다.Instrumentation is a profiling method by which specially built versions of the profiled binaries contain probe functions that collect timing information at the entry and exit to functions in an instrumented module. 이 프로파일링 방법은 샘플링보다 침입성이 높으므로오버헤드가 더 많이 발생합니다.Because this method of profiling is more invasive than sampling, it incurs a greater amount of overhead. 계측된 이진 파일도 디버그 또는 릴리스 이진 파일보다 더 크므로 배포할 수 없습니다.Instrumented binaries are also larger than debug or release binaries and are not intended for deployment.

참고

고객에게는 계측된 이진 파일을 전송하지 마세요.Do not send instrumented binaries to your customers. 계측된 이진 파일에는 여러 가지 위험 요소가 포함될 수 있습니다.Instrumented binaries can contain several risks. 이진 파일에는 응용 프로그램을 보다 쉽게 리버스 엔지니어링할 수 있도록 만드는 정보와 보안 위험이 포함되어 있습니다.The binaries include information that makes your application easier to reverse engineer, as well as security risks.

계측 방법을 사용하여 PeopleTrax 응용 프로그램을 프로파일링하려면To profile the PeopleTrax application by using the instrumentation method

  1. PeopleTrax 샘플 응용 프로그램을 설치하고 릴리스 버전을 빌드합니다.Install the PeopleTrax sample application and build the Release version.

  2. 명령 프롬프트 창을 열고 프로파일링 도구 디렉터리를 로컬 Path 환경 변수에 추가합니다.Open a command prompt window and add the Profiling Tools directory to the local Path environment variable.

  3. 작업 디렉터리를 PeopleTrax 이진 파일이 포함된 디렉터리로 변경합니다.Change the working directory to the directory containing the PeopleTrax binaries.

  4. 파일 기반 보고서를 포함할 디렉터리를 만듭니다.Create a directory to contain the file based reports. 다음 명령을 입력합니다.Type the following command:

    md Reports  
    
  5. VSInstr 명령줄 도구를 사용하여 응용 프로그램의 이진 파일을 계측합니다.Use the VSInstr command-line tool to instrument the binaries in the application. 별도의 명령줄에서 다음 명령을 입력합니다.Type the following commands on separate command lines:

    VSInstr PeopleTrax.exe  
    VSInstr PeopleTrax.exe  
    VSInstr People.dll  
    VSInstr Person.dll  
    VSInstr Operation.dll  
    

    참고 기본적으로 VSInstr은 원본 파일의 계측되지 않은 백업을 저장합니다.Note By default, VSInstr saves a non-instrumented backup of the original file. 백업 파일 이름의 확장명은 .orig입니다The backup file name has the extension .orig. 예를 들어 원본 버전 "MyApp.exe"는 "MyApp.exe.orig"로 저장됩니다.For example, the original version of "MyApp.exe" would be saved as "MyApp.exe.orig."

  6. 다음 명령을 입력하여 적절한 환경 변수를 설정합니다.Type the following command to set the appropriate environment variables:

    VsPerfCLREnv /traceon  
    
  7. 프로파일러를 시작하려면 다음 명령을 입력합니다.To start the profiler, type the following command:

    VsPerfCmd /start:trace /output:Reports\Report.vsp  
    
  8. 프로파일러를 추적 모드에서 시작한 후 PeopleTrax.exe 프로세스의 계측된 버전을 실행하여 데이터를 수집합니다.After you start the profiler in trace mode, run the instrumented version of the PeopleTrax.exe process to collect data.

    PeopleTrax 응용 프로그램 창이 나타납니다.The PeopleTrax application window appears.

  9. 사용자 가져오기를 클릭합니다.Click Get People.

    PeopleTrax 데이터 표에 데이터가 채워집니다.The PeopleTrax data grid populates with data.

  10. 데이터 내보내기를 클릭합니다.Click Export Data.

    메모장이 시작되고 PeopleTrax 응용 프로그램의 사용자 목록이 들어 있는 새 파일이 표시됩니다.Notepad starts and displays a new file that contains a list of people from the PeopleTrax application.

  11. 메모장을 닫은 다음 PeopleTrax 응용 프로그램을 닫습니다.Close Notepad, and then close the PeopleTrax application.

  12. 프로파일러를 종료합니다.Shut down the profiler. 다음 명령을 입력합니다.Type the following command:

    VSPerfCmd /shutdown  
    
  13. 다음 명령을 입력하여 환경 변수를 다시 설정합니다.Type the following command to reset the environmental variables:

    VSPerfCLREnv /off  
    
  14. VSPerfReport 도구를 사용하여 쉼표로 구분된 값(.csv) 보고서 파일을 생성합니다.Use the VSPerfReport tool to generate or comma-separated value (.csv) report files. 유형:Type:

    VSPerfReport Reports\Report.vsp /output:Reports /summary:all  
    

    스프레드시트 응용 프로그램에서 생성된 보고서를 분석하거나, Visual StudioVisual Studio IDE를 사용하여 Report.vsp 파일에서 프로파일링 데이터를 분석할 수 있습니다.You can analyze the generated reports in a spreadsheet program, or you can use the Visual StudioVisual Studio IDE to analyze the profiling data in the Report.vsp file. 자세한 내용은 성능 도구 데이터 분석을 참조하세요.For more information, see Analyzing Performance Tools Data.

참고 항목See Also

성능 세션 개요 Performance Session Overview
명령줄에서 프로파일링 Profiling from the Command-Line
VSPerfCmd VSPerfCmd
샘플링 데이터 값 이해 Understanding Sampling Data Values
성능 보고서 뷰Performance Report Views