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 옵션을 사용하면 지정된 이미지 내에 함수가 표시됩니다. 계측이 수행되지 않습니다. |