방법: 줄 수준 샘플링 데이터 수집
업데이트: 2007년 11월
줄 수준 샘플링은 상위 전용 샘플이 있는 함수 같이 프로세서를 많이 사용하는 함수의 코드에서 프로세서가 대부분의 시간을 사용해야 하는 부분을 확인할 수 있는 프로파일러의 기능입니다.
개요
줄 수준 샘플링에서는 프로파일러가 프로그램 호출 스택을 정기적으로 조사하여 그 결과를 집계합니다. 이러한 결과에는 샘플을 가져왔을 때 프로세서에서 실행했던 명령이 표시됩니다. 그런 다음 전용 샘플에 대해 수집된 데이터를 분석하여 코드 줄 및 IP(명령 포인터)를 식별합니다.
줄 수준 샘플링은 관리 코드뿐 아니라 네이티브 코드에 대해서도 사용할 수 있습니다. 이 데이터를 표시하는 성능 보고서에는 줄 뷰와 모듈 뷰가 있습니다.
문자 시작/끝 정보는 네이티브 코드에 사용할 수 없습니다. 여러 줄로 이루어진 문의 경우 네이티브 코드에 줄 시작 정보는 사용할 수 없고 줄 끝 정보만 사용할 수 있습니다.
사용 가능한 데이터
사용 가능한 줄 수준 샘플링 데이터에는 다음과 같은 정보가 있습니다.
함수 이름
함수 주소
줄 시작 – 샘플링된 코드의 줄 번호
줄 끝 – 끝 소스 줄 번호. 이는 일반적으로 단일 프로그램 문이 여러 소스 코드 줄에 걸쳐 있는 경우를 제외하고 “줄 시작” 데이터와 동일합니다.
문자 시작 – 집계 샘플의 시작 열. 이는 일반적으로 하나의 줄에 여러 프로그램 문이 포함되어 있는 경우를 제외하고 0입니다.
문자 끝 – 집계 샘플의 끝 열
IP – 집계 샘플을 가져오는 주소(IP 뷰에만 해당)
모듈 뷰에서 함수에 줄 수준 통계가 있으면 각 함수 아래에 통계가 중첩됩니다. 뿐만 아니라 각 줄 아래에 중첩된 IP 수준 통계가 표시됩니다.
관리 코드에 대해 줄 수준 샘플링 해제
기본적으로 줄 수준 샘플링은 설정되어 있습니다. 다음 중 하나를 수행하여 관리 코드의 줄 수준 데이터 수집 기능을 해제할 수 있습니다.
프로파일링하기 전에 VSPerfCLREnv /samplelineoff를 입력합니다. 이 설정은 응용 프로그램과 서비스 모두에 영향을 줍니다.
— 또는 —
응용 프로그램을 시작할 때 VSPerfCmd /lineoff <other arguments>를 입력합니다.