VSInstr

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

VSInstr [/U] filename [/options]

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

옵션

설명

Help 또는 ?

도움말을 표시합니다.

U

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

@filename

각 줄에 하나의 명령 옵션을 포함하는 응답 파일의 이름을 지정합니다.물음표는 사용하지 마십시오.

OutputPath:path

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

Exclude:funcspec

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

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

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

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

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

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

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

Exclude는 코드 검사에서 지원됩니다.

와일드카드 문자 *가 지원됩니다.예를 들어, 네임스페이스의 모든 함수를 제외하려면 다음과 같이 사용합니다.

MyNamespace::*

VSInstr /DumpFuncs를 사용하여 지정된 이진 파일에 있는 함수의 전체 이름을 나열할 수 있습니다.

Include:funcspec

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

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

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

Include는 코드 검사에서 지원되지 않습니다.

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

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

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

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

와일드카드 문자 *가 지원됩니다.예를 들어, 네임스페이스의 모든 함수를 포함하려면 다음과 같이 사용합니다.

MyNamespace::*

VSInstr /DumpFuncs를 사용하여 지정된 이진 파일에 있는 함수의 전체 이름을 나열할 수 있습니다.

DumpFuncs

지정된 이미지 내의 함수를 나열합니다.계측이 수행되지 않습니다.

ExcludeSmallFuncs

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

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

Mark:{Before|After|Top|Bottom},funcname,markid

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

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

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

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

Bottom - 대상 함수에서 각 반환 직전입니다.

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

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

Coverage

검사 계측을 수행합니다.다음 옵션과 함께만 사용할 수 있습니다: Verbose, OutputPath, ExcludeLogfile..

Verbose

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

NoWarn[:[Message Number[;Message Number]]]

모든 경고나 특정 경고를 표시하지 않습니다.

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

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

Control:{Thread|Process|Global}

다음 VSInstr 데이터 수집 제어 옵션의 프로파일링 수준을 지정합니다.

Start

StartOnly

Suspend

StopOnly

SuspendOnly

ResumeOnly

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

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

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

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

Start:{Inside|Outside},funcname

데이터 수집을 대상 함수 및 해당 함수에서 호출한 자식 함수로 제한합니다.

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

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

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

Suspend:{Inside|Outside},funcname

대상 함수 및 해당 함수가 호출한 자식 함수에 대해 데이터 수집을 제외합니다.

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

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

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

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

StartOnly:{Before|After|Top|Bottom},funcname

프로파일링을 실행하는 동안 데이터 수집을 시작합니다.지정된 위치에 StartProfile API 함수를 삽입합니다.

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

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

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

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

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

StopOnly:{Before|After|Top|Bottom},funcname

프로파일링을 실행하는 동안 데이터 수집을 중단합니다.지정된 위치에 StopProfile 함수를 삽입합니다.

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

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

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

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

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

SuspendOnly:{Before|After|Top|Bottom},funcname

프로파일링을 실행하는 동안 데이터 수집을 중단합니다.지정된 위치에 SuspendProfile API를 삽입합니다.

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

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

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

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

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

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

ResumeOnly:{Before|After|Top|Bottom},funcname

프로파일링을 실행하는 동안 데이터 수집을 시작하거나 다시 시작합니다.

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

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

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

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

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

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

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

참고 항목

참조

VSPerfMon

VSPerfCmd

VSPerfReport

VSInstr 경고

기타 리소스

프로파일링 도구 보고서 뷰