방법: 줄 수준 샘플링 데이터 수집How to: Collect Line-Level Sampling Data

줄 수준 샘플링은 전용 샘플 수가 많은 함수와 같이 프로세서를 많이 사용하는 함수의 코드에서 프로세서가 대부분의 시간을 사용하는 위치를 확인하는 프로파일러 기능입니다.Line-level sampling is the ability of the profiler to determine where in the code of a processor-intensive function, such as a function that has high exclusive samples, the processor has to spend most of its time.

개요Overview

줄 수준 샘플링의 경우 프로파일러는 설정된 간격으로 프로그램 호출 스택을 처리하고 해당 결과를 집계합니다.For line-level sampling, the profiler walks the program call stack at set intervals and aggregates those results. 이러한 결과는 샘플이 사용될 때 프로세서에서 실행하고 있던 명령을 보여 줍니다.These results show what instructions the processor was executing when the samples were taken. 그런 다음 전용 샘플에 대한 수집된 데이터를 분석하여 코드 줄과 IP(명령 포인터)를 확인합니다.The collected data about exclusive samples is then analyzed to identify the lines of code and the instruction pointer (IP).

줄 수준 샘플링은 관리 코드 및 네이티브 코드에서 사용됩니다.Line-level sampling works for managed as well as native code. 이 데이터를 표시하는 성능 보고서에는 줄 뷰 및 모듈 뷰가 포함됩니다.Performance reports that display this data include the Lines view and the Modules view.

문자 시작/끝 정보는 네이티브 코드에 사용할 수 없습니다.Character begin/end information is not available for native code. 여러 줄 문의 경우 줄 시작 정보는 네이티브 코드에 사용할 수 없고 줄 끝 정보만 사용할 수 있습니다.For multiline statements, line begin information is not available for native code; only line end information is available.

사용 가능한 데이터Available Data

사용 가능한 줄 수준 샘플링 데이터에는 다음 정보가 포함됩니다.Available line-level sampling data includes the following information:

  • 함수 이름.Function name.

  • 함수 주소.Function address.

  • 줄 시작 - 샘플링된 코드의 줄 번호.Line begin -line number of the sampled code.

  • 줄 끝 – 소스 줄 끝 번호.Line end - ending source line number. 단일 프로그램 문이 여러 소스 코드 줄에 걸쳐 있는 경우를 제외하고 이는 일반적으로 "줄 시작" 데이터와 동일합니다.This is generally the same as the "Line begin" data except when a single program statement spans multiple source code lines.

  • 문자 시작 – 집계 샘플의 시작 열.Character begin - beginning column of the aggregate sample. 단일 줄에 여러 프로그램 문이 포함된 경우를 제외하고 이는 일반적으로 0입니다.This is generally 0 except when a single line contains multiple program statements.

  • 문자 끝 – 집계 샘플의 끝 열.Character end - ending column of the aggregate sample.

  • IP – 집계 샘플이 사용된 주소(IP 뷰 전용).IP - address where the aggregate sample was taken (IP view only).

    모듈 뷰에서 함수에 줄 수준 통계가 있으면 통계가 각 함수 아래에 중첩됩니다.In Modules view, if a function has line-level statistics, the statistics are nested under each function. 또한 각 줄 아래에 중첩된 IP 수준 통계가 제공됩니다.Additionally, IP-level statistics that are nested under each line are presented.

관리 코드의 줄 수준 샘플링 끄기Turn Off Line-level Sampling for Managed Code

줄 수준 샘플링은 기본적으로 켜집니다.By default, line-level sampling is turned on. 다음 중 하나를 수행하여 관리 코드의 줄 수준 데이터 수집을 끌 수 있습니다.You can turn off line-level data collection for managed code by doing one of the following:

  • 프로파일링하기 전에 VSPerfCLREnv /samplelineoff를 입력합니다.Before profiling, type VSPerfCLREnv /samplelineoff. 이는 응용 프로그램 및 서비스에 모두 영향을 미칩니다.This affects both applications and services.

    — 또는 —— or —

  • 응용 프로그램을 시작할 때 VSPerfCmd /lineoff <기타 인수>를 입력합니다.When starting an application, type VSPerfCmd /lineoff <other arguments>.

참고 항목See Also

성능 세션 구성 Configuring Performance Sessions
성능 도구 데이터 분석Analyzing Performance Tools Data