Udostępnij za pośrednictwem


VSInstr

Narzędzie VSInstr jest używane do instrumentacji plików binarnych.Jest ono wywoływane przy użyciu następującej składni:

VSInstr [/U] filename [/options]

W poniższej tabeli opisano opcje narzędzia VSInstr:

Opcje

Opis

Help lub ?

Wyświetla pomoc.

U

Zapisuje przekierowane dane wyjściowe konsoli jako Unicode.Ta opcja musi zostać określona jako pierwsza.

@filename

Określa nazwę pliku odpowiedzi, który zawiera jedno polecenie opcji w wierszu. Nie należy używać znaków cudzysłowu.

OutputPath:path

Określa katalog docelowy dla obrazu instrumentacji.Jeżeli nie określono ścieżki wyjściowej, nazwa oryginalnego pliku binarnego jest zmieniana przez dołączenie "Oryg" do nazwy pliku w tym samym katalogu, a kopia pliku binarnego jest instrumentowana.

Exclude:funcspec

Określa specyfikację funkcji do wykluczenia z instrumentacji poprzez badania.Jest to użyteczne, gdy profilowanie wstawienia testu w funkcji powoduje nieprzewidziane lub niepożądane wyniki.

Nie należy używać opcji Exclude i Include, które odwołują się do funkcji w tym samym pliku binarnym.

Można określić wiele specyfikacji funkcji z oddzielną opcją Exclude.

funcspec jest zdefiniowany jako:

nazw<separator1> [class<separator2> funkcji

<separator1> jest :: dla kodu macierzystego i . kodu zarządzanego.

<separator2> jest zawsze::

Exclude jest obsługiwane z pokryciem kodu.

Symbol wieloznaczny * jest obsługiwany.Na przykład, aby wykluczyć wszystkie funkcje z przestrzeni nazw, użyj:

MyNamespace::*

Można użyć VSInstr /DumpFuncs, aby wyświetlić listę pełnych nazw funkcji w określonych danych binarnych.

Include:funcspec

Określa specyfikację funkcji w danych binarnych do instrumentacji z testami.Wszystkie inne funkcje w danych binarnych nie są instrumentowane.

Można określić wiele specyfikacji funkcji z oddzielną opcją Include.

Nie należy używać opcji Include i Exclude, które odwołują się do funkcji w tym samym pliku binarnym.

Include nie jest obsługiwane z pokryciem kodu.

funcspec jest zdefiniowany jako:

nazw<separator1> [class<separator2> funkcji

<separator1> jest :: dla kodu macierzystego i . kodu zarządzanego.

<separator2> jest zawsze::

Symbol wieloznaczny * jest obsługiwany.Na przykład, aby załączyć wszystkie funkcje z przestrzeni nazw, użyj:

MyNamespace::*

Można użyć VSInstr /DumpFuncs, aby wyświetlić listę pełnych nazw funkcji w określonych danych binarnych.

DumpFuncs

Wyświetla listę funkcji w ramach określonego obrazu.Instrumentacja nie jest wykonywana.

ExcludeSmallFuncs

Wyklucza małe funkcje, które są krótkimi funkcjami nie wykonującymi żadnych wywołań funkcji, z instrumentacji.Opcja ExcludeSmallFuncs zapewnia dla mniejszego obciążenia instrumentacji, odpowiednio ulepszoną prędkość instrumentacji.

Wykluczenie małych funkcji zmniejsza również rozmiar pliku .vsp oraz czas wymagany do analizy.

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

Wstawia oznaczenie profilu (identyfikator używany do ograniczania danych w raportach), który można użyć do zidentyfikowania początku i końca zakresu danych w pliku raportu .vsp.

Before- Niezwłocznie przed wpisem docelowej funkcji.

After- Niezwłocznie po wyjściu docelowej funkcji.

Top- Niezwłocznie po wpisie docelowej funkcji.

Bottom- Niezwłocznie przed każdym zwrotem wartości docelowej funkcji.

funcname - Nazwa funkcji docelowej

Markid - Dodatnia liczba całkowita (long), używana jako identyfikator oznaczenia profilu.

Coverage

Wykonuje Instrumentację pokrycia.Może być używany tylko z następującymi opcjami: Verbose, OutputPath, Exclude i Logfile.

Verbose

Opcja Verbose służy do wyświetlania szczegółowych informacji na temat procesu instrumentacji.

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

Pomiń wszystkie lub określone ostrzeżenia.

Message Number - numer ostrzeżenia.Jeśli Message Number jest pominięty, wszystkie ostrzeżenia są pomijane.

Aby uzyskać więcej informacji, zobacz Ostrzeżenia VSInstr.

Control:{Thread|Process|Global}

Określa poziom profilowania następujących opcji zbierania danych VSInstr:

Start

StartOnly

Suspend

StopOnly

SuspendOnly

ResumeOnly

Thread- określa funkcje sterowania zbieraniem danych na poziomie wątku.Profilowanie jest uruchomione lub zatrzymane tylko dla bieżącego wątku.Nie wpływa na stan profilowania innych wątków.Wartość domyślna to wątek.

Process- określa funkcje sterowania zbieraniem profilowanych danych na poziomie procesu.Profilowanie jest uruchamiane lub zatrzymane dla wszystkich wątków w bieżącym procesie.Nie wpływa na stan profilowania innych procesów.

Global- określa funkcje sterowania zbieraniem danych na poziomie globalnym (międzyprocesowe).

Jeśli nie określisz poziomu profilowania, wystąpi błąd.

Start:{Inside|Outside},funcname

Ogranicza zbieranie danych do docelowej funkcji oraz funkcji podrzędnych wywołanych przez tę funkcję.

Inside- Wstawia funkcję StartProfile niezwłocznie po wejściu do funkcji docelowej.Wstawia funkcję StopProfile niezwłocznie przed każdym zwróceniem wartości w funkcji docelowej.

Outside- Wstawia funkcję StartProfile niezwłocznie przed każdym wywołaniem do funkcji docelowej.Wstawia funkcję StopProfile niezwłocznie po każdym wywołaniu do funkcji docelowej.

funcname - nazwa funkcji docelowej.

Suspend:{Inside|Outside},funcname

Wyklucz zbieranie danych dla docelowej funkcji oraz funkcji podrzędnych wywołanych przez tę funkcję.

Inside- Wstawia funkcję SuspendProfile niezwłocznie po wejściu do funkcji docelowej.Wstawia funkcję ResumeProfile niezwłocznie przed każdym zwróceniem wartości w funkcji docelowej.

Outside- Wstawia funkcję SuspendProfile niezwłocznie przed wejściem do funkcji docelowej.Wstawia funkcję ResumeProfile niezwłocznie po wyjściu z funkcji docelowej.

funcname - nazwa funkcji docelowej.

Jeśli funkcja docelowa zawiera funkcję StartProfile, funkcja SuspendProfile dodaje się przed nią.Jeśli funkcja docelowa zawiera funkcję StopProfile, funkcja ResumeProfile dodaje się za nią.

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

Rozpoczyna zbieranie danych podczas przebiegu profilowania.Wstawia API funkcji StartProfile w określonej lokalizacji.

Before- niezwłocznie przed wpisem docelowej funkcji.

After- niezwłocznie po wyjściu docelowej funkcji.

Top- niezwłocznie po wpisie docelowej funkcji.

Bottom- niezwłocznie przed każdym zwrotem wartości docelowej funkcji.

funcname - nazwa funkcji docelowej.

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

Wstrzymuje zbieranie danych podczas przebiegu profilowania.Wstawia API funkcji StopProfile w określonej lokalizacji.

Before- niezwłocznie przed wpisem docelowej funkcji.

After- niezwłocznie po wyjściu docelowej funkcji.

Top- niezwłocznie po wpisie docelowej funkcji.

Bottom- niezwłocznie przed każdym zwrotem wartości docelowej funkcji.

funcname - nazwa funkcji docelowej.

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

Wstrzymuje zbieranie danych podczas przebiegu profilowania.Wstawia API SuspendProfile w określonej lokalizacji.

Before- niezwłocznie przed wpisem docelowej funkcji.

After- niezwłocznie po wyjściu docelowej funkcji.

Top- niezwłocznie po wpisie docelowej funkcji.

Bottom- niezwłocznie przed każdym zwrotem wartości docelowej funkcji.

funcname - nazwa funkcji docelowej.

Jeśli funkcja docelowa zawiera funkcję StartProfile, funkcja SuspendProfile dodaje się przed nią.

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

Rozpoczyna lub wznawia zbieranie danych podczas przebiegu profilowania.

Zwykle jest używane do uruchomienia profilowania po tym, jak opcja SuspendOnly zatrzymała profilowanie.Wstawia API ResumeProfile w określonej lokalizacji.

Before- niezwłocznie przed wpisem docelowej funkcji.

After- niezwłocznie po wyjściu docelowej funkcji.

Top- niezwłocznie po wpisie docelowej funkcji.

Bottom- niezwłocznie przed każdym zwrotem wartości docelowej funkcji.

funcname - nazwa funkcji docelowej.

Jeśli funkcja docelowa zawiera funkcję StopProfile, funkcja ResumeProfile dodaje się za nią.

Zobacz też

Informacje

VSPerfMon

VSPerfCmd

VSPerfReport

Ostrzeżenia VSInstr

Inne zasoby

Widoki raportów narzędzi profilowania