다음을 통해 공유


VSInstr

업데이트: 2007년 11월

VSInstr 도구는 이진을 계측하는 데 사용됩니다. 이 도구는 다음 구문을 사용하여 호출합니다.

VSInstr [/U] filename [/options]

다음 표에서는 VSInstr 도구 옵션에 대해 설명합니다.

옵션

설명

HELP 또는 ?

도움말을 표시합니다.

U

U 옵션은 리디렉션된 콘솔 출력을 유니코드로 작성합니다. 이 옵션을 가장 먼저 지정해야 합니다.

@filename

지시 파일의 명령 옵션은 한 줄에 하나씩 사용해야 합니다. 물음표는 사용하지 마십시오.

OUTPUTPATH:path

계측된 이미지의 대상 디렉터리입니다. 출력 경로를 지정하지 않으면 원래 이진 파일의 이름에 "Orig"가 추가되어 동일한 디렉터리에 저장되고, 계측에는 이진 파일의 복사본이 사용됩니다.

CONTROL:{THREAD|PROCESS|GLOBAL}

CONTROL 옵션은 다음과 같은 데이터 수집 제어 함수의 프로파일링 수준을 지정하는 데 사용됩니다.

StartProfile

StopProfile

SuspendProfile

ResumeProfile

THREAD - 스레드 수준의 데이터 수집 제어 함수를 지정합니다. 프로파일링은 현재 스레드에 대해서만 시작 또는 중지됩니다. 다른 스레드의 프로파일링 상태에는 영향이 없습니다. 기본값은 스레드입니다.

PROCESS - 프로세스 수준의 프로파일링 데이터 수집 제어 함수를 지정합니다. 프로파일링은 현재 프로세스의 모든 스레드에 대해 시작 또는 중지됩니다. 다른 프로세스의 프로파일링 상태에는 영향이 없습니다.

GLOBAL - 전역 수준(크로스 프로세스)의 데이터 수집 제어 함수를 지정합니다.

프로파일링 수준을 지정하지 않으면 오류가 발생합니다.

START:{INSIDE|OUTSIDE},funcname

START 옵션은 데이터 수집을 대상 함수 및 해당 함수에서 호출한 자식 함수로 제한하는 데 사용됩니다.

INSIDE - 대상 함수의 시작 직후에 StartProfile 함수를 삽입합니다. 대상 함수의 각 반환 직전에 StopProfile 함수를 삽입합니다.

OUTSIDE - 대상 함수의 각 호출 직전에 StartProfile 함수를 삽입합니다. 대상 함수의 각 호출 직후에 StopProfile 함수를 삽입합니다.

funcname - 대상 함수의 이름입니다.

SUSPEND:{INSIDE|OUTSIDE},funcname

SUSPEND 옵션은 대상 함수 및 해당 함수에서 호출한 자식 함수에 대한 데이터 수집을 제외하는 데 사용됩니다.

INSIDE - 대상 함수의 시작 직후에 SuspendProfile 함수를 삽입합니다. 대상 함수의 각 반환 직전에 ResumeProfile 함수를 삽입합니다.

OUTSIDE - 대상 함수의 시작 직전에 SuspendProfile 함수를 삽입합니다. 대상 함수의 종료 직후에 ResumeProfile 함수를 삽입합니다.

funcname - 대상 함수의 이름입니다.

대상 함수에 StartProfile 함수가 포함된 경우, 그 앞에 SuspendProfile 함수가 삽입됩니다. 대상 함수에 StopProfile 함수가 포함된 경우, 그 뒤에 ResumeProfile 함수가 삽입됩니다.

STARTONLY:{BEFORE|AFTER|TOP|BOTTOM},funcname

STARTONLY 옵션은 프로파일링 실행 중에 데이터 수집을 시작하는 데 사용됩니다. 지정된 위치에 StartProfile API 함수를 삽입합니다.

BEFORE - 대상 함수의 시작 직전입니다.

AFTER - 대상 함수의 종료 직후입니다.

TOP - 대상 함수의 시작 직후입니다.

BOTTOM - 대상 함수의 각 반환 직전입니다.

funcname - 대상 함수의 이름입니다.

STOPONLY:{BEFORE|AFTER|TOP|BOTTOM},funcname

STOPONLY 옵션은 프로파일링 실행 중에 데이터 수집을 중단하는 데 사용됩니다. 지정된 위치에 StopProfile 함수를 삽입합니다.

BEFORE - 대상 함수의 시작 직전입니다.

AFTER - 대상 함수의 종료 직후입니다.

TOP - 대상 함수의 시작 직후입니다.

BOTTOM - 대상 함수의 각 반환 직전입니다.

funcname - 대상 함수의 이름입니다.

SUSPENDONLY:{BEFORE|AFTER|TOP|BOTTOM},funcname

SUSPENDONLY 옵션은 프로파일링 실행 중에 데이터 수집을 중단하는 데 사용됩니다. 지정된 위치에 SuspendProfile API를 삽입합니다.

BEFORE - 대상 함수의 시작 직전입니다.

AFTER - 대상 함수의 종료 직후입니다.

TOP - 대상 함수의 시작 직후입니다.

BOTTOM - 대상 함수의 각 반환 직전입니다.

funcname - 대상 함수의 이름입니다.

대상 함수에 StartProfile 함수가 포함된 경우, 그 앞에 SuspendProfile 함수가 삽입됩니다.

RESUMEONLY:{BEFORE|AFTER|TOP|BOTTOM},funcname

RESUMEONLY 옵션은 프로파일링 실행 중에 데이터 수집을 시작 또는 재개하는 데 사용됩니다.

일반적으로 SUSPENDONLY 옵션이 프로파일링을 중지한 후 프로파일링을 시작하는 데 사용됩니다. 지정된 위치에 ResumeProfile API를 삽입합니다.

BEFORE - 대상 함수의 시작 직전입니다.

AFTER - 대상 함수의 종료 직후입니다.

TOP - 대상 함수의 시작 직후입니다.

BOTTOM - 대상 함수의 각 반환 직전입니다.

funcname - 대상 함수의 이름입니다.

대상 함수에 StopProfile 함수가 포함된 경우, 그 뒤에 ResumeProfile 함수가 삽입됩니다.

EXCLUDE:funcspec

EXCLUDE 옵션은 프로브에 의한 계측에서 제외할 함수 사양을 지정합니다. 함수에 프로파일링 프로브를 삽입하였을 때 예측하지 못한 결과나 원치 않은 결과가 발생한 경우 유용합니다.

동일한 이진 파일의 함수를 참조하는 EXCLUDE 및 INCLUDE 옵션은 사용하지 마십시오.

별도의 EXCLUDE 옵션을 사용하여 여러 개의 함수 사양을 지정할 수 있습니다.

funcspec은 다음과 같이 정의됩니다.

[namespace<separator1>] [class<separator2>]function

<separator1>은 네이티브 코드의 경우 ::이고, 관리 코드의 경우 .입니다.

<separator2>는 항상 ::입니다.

EXCLUDE 옵션은 코드 검사에서 지원됩니다.

네임스페이스의 모든 함수를 제외하려면 와일드카드 문자를 사용합니다.

MyNamespace::*

INCLUDE:funcspec

INCLUDE 옵션은 프로브로 계측할 이진 파일의 함수 사양을 지정합니다. 이진 파일의 다른 모든 함수는 계측되지 않습니다.

별도의 INCLUDE 옵션을 사용하여 여러 개의 함수 사양을 지정할 수 있습니다.

동일한 이진 파일의 함수를 참조하는 INCLUDE 및 EXCLUDE 옵션은 사용하지 마십시오.

INCLUDE 옵션은 코드 검사에서 지원되지 않습니다.

funcspec은 다음과 같이 정의됩니다.

[namespace<separator1>] [class<separator2>]function

<separator1>은 네이티브 코드의 경우 ::이고, 관리 코드의 경우 .입니다.

<separator2>는 항상 ::입니다.

EXCLUDESMALLFUNCS

작은 함수는 제외합니다. 작은 함수는 계측에서 함수를 호출하지 않는 간단한 함수입니다. EXCLUDESMALLFUNCS 옵션을 사용하면 계측 오버헤드가 줄어들어 계측 속도가 향상됩니다.

작은 함수를 제외하면 분석에 필요한 .vsp 파일 크기와 시간도 줄어듭니다.

MARK:{BEFORE|AFTER|TOP|BOTTOM},funcname,markid

MARK 옵션은 대상 함수의 시작 또는 종료 시 MarkProfile API 함수를 삽입합니다. MarkProfile API는 데이터 범위의 시작 또는 끝을 식별하는 데 사용할 수 있는 프로필 표시(보고서의 데이터를 구분하는 데 사용되는 식별자)를 .vsp 보고서 파일에 삽입합니다.

BEFORE - 대상 함수의 시작 직전입니다.

AFTER - 대상 함수의 종료 직후입니다.

TOP- 대상 함수의 시작 직후입니다.

BOTTOM - 대상 함수의 각 반환 직전입니다.

funcname - 대상 함수의 이름입니다.

Markid - 프로필 표시의 식별자로 사용할 양의 정수(long)입니다.

COVERAGE

COVERAGE 옵션은 검사 계측을 수행합니다. OUTPUTPATH 옵션과 함께 사용할 수 있습니다.

VERBOSE

VERBOSE 옵션은 계측 프로세스에 대한 세부 정보를 보는 데 사용됩니다.

NOWARN[:[Message Number[;Message Number]]]

NOWARN 옵션은 모든 경고 또는 특정 경고를 표시하지 않고자 할 때 사용됩니다.

Message Number - 경고 번호입니다. Message Number를 생략하면 모든 경고가 표시되지 않습니다.

자세한 내용은 VSInstr 경고를 참조하십시오.

DUMPFUNCS

DUMPFUNCS 옵션을 사용하면 지정된 이미지 내에 함수가 표시됩니다. 계측이 수행되지 않습니다.

참고 항목

참조

VSPerfMon

VSPerfCmd

VSPerfReport

VSInstr 경고

프로파일링 도구 보고서 열 정의