VSInstr

Nástroj VSInstr slouží k instrumentaci binárních souborů. Je vyvolána pomocí následující syntaxe:

VSInstr [/U] filename [/options]

Následující tabulka popisuje možnosti nástroje VSInstr:

Možnosti Description
Pomáhat nebo ? Zobrazí pomocníka.
H Zapíše výstup přesměrované konzoly jako Unicode. Je nutné zadat první možnost.
@filename Určuje název souboru odpovědí, který obsahuje jednu možnost příkazu na řádek. Nepoužívejte uvozovky.
OutputPath:path Určuje cílový adresář pro instrumentované bitové kopie. Pokud není zadána výstupní cesta, původní binární soubor byl přejmenován připojením "orig" k názvu souboru ve stejném adresáři a kopie binárního souboru je instrumentovaná.
Vyloučit:funcspec Určuje specifikaci funkce, která se má vyloučit z instrumentace pomocí sond. To je užitečné v případě, že při vkládání testu sondy do funkce dojde k nepředvídatelným nebo nežádoucím výsledkům.

Nepoužívejte možnosti Exclude a include , které odkazují na funkce ve stejném binárním souboru.

Můžete zadat více specifikací funkcí s oddělenými možnostmi vyloučení .

funcspec je definován jako:

[obor názvů <separator1> ] [třída <separator2> ] slouží

<separator1> je určena :: pro nativní kód a . pro spravovaný kód.

<separator2> je vždycky ::.

Vyloučení je podporováno s pokrytím kódu.

Zástupný znak * je podporován. Například pro vyloučení všech funkcí v oboru názvů použijte:

MyNamespace::*

K vypsání úplných názvů funkcí v zadaném binárním souboru můžete použít VSInstr/DumpFuncs .
Zahrnout:funcspec Určuje specifikace funkce v binárním souboru pro instrumentaci s sondami. Všechny ostatní funkce v binárních souborech nejsou instrumentované.

Můžete zadat více specifikací funkcí s oddělenými možnostmi zahrnutí .

Nepoužívejte možnosti include a Exclude , které odkazují na funkce ve stejném binárním souboru.

Zahrnutí není podporováno s pokrytím kódu.

funcspec je definován jako:

[obor názvů <separator1> ] [třída <separator2> ] slouží

<separator1> je určena :: pro nativní kód a . pro spravovaný kód.

<separator2> je vždycky ::.

Zástupný znak * je podporován. Například pro zahrnutí všech funkcí do oboru názvů použijte:

MyNamespace::*

K vypsání úplných názvů funkcí v zadaném binárním souboru můžete použít VSInstr/DumpFuncs .
DumpFuncs Zobrazí seznam funkcí v rámci zadaného obrázku. Není prováděna žádná instrumentace.
ExcludeSmallFuncs Vyloučí malé funkce, což jsou krátké funkce, které nedělají žádná volání funkcí, od instrumentace. Možnost ExcludeSmallFuncs poskytuje méně zátěže instrumentace a tím zvýšila rychlost instrumentace.

Vyloučení malých funkcí také snižuje. velikost souboru VSP a čas potřebný k analýze.
Označit:{before | po | horní | části},funcname,markid Vloží značku profilu (identifikátor používaný k vymezení dat v sestavách), které můžete použít k identifikaci počátečního nebo koncového rozsahu dat v souboru sestavy. vsp.

Před – bezprostředně před cílovou položkou funkce.

After hned po ukončení cílové funkce.

Nahoru a hned za cílovou položkou funkce.

Zdola – těsně před každým návratem v cílové funkci.

funcname – Název cílové funkce

Markid – Kladné celé číslo (Long), které se použije jako identifikátor značky Profile.
Pokrytí Provede instrumentaci pokrytí. Dá se použít jenom s následujícími možnostmi: verbose, OutputPath, Exclude a logfile..
Podrobné Možnost verbose se používá k zobrazení podrobných informací o procesu instrumentace.
Upozornit[:[Message Number[;Message Number]]] Potlačí všechna nebo konkrétní upozornění.

Message Number – číslo upozornění. Pokud Message Number je tento parametr vynechán, budou potlačena všechna upozornění.

Další informace naleznete v tématu VSInstr Warnings.
Ovládací prvek: { Podproces | Zpracování | Globální} Určuje úroveň profilace následujících možností řízení sběru dat VSInstr:

Zahájení

StartOnly

Suspend

StopOnly

SuspendOnly

ResumeOnly

Thread – určuje funkce ovládacího prvku shromažďování dat na úrovni vlákna. Profilace je spuštěná nebo zastavená jenom pro aktuální vlákno. Stav profilace jiných vláken není ovlivněn. Výchozím nastavením je vlákno.

Proces – určuje funkce ovládacího prvku shromažďování dat profilování na úrovni procesu. Profilace se spouští nebo zastavuje pro všechna vlákna v aktuálním procesu. Stav profilace jiných procesů není ovlivněn.

Global – určuje funkce ovládacího prvku shromažďování dat globální úrovně (mezi procesy).

Pokud nezadáte úroveň profilace, dojde k chybě.
Začátek: { Uvnitř | Mimo rámec},funcname Omezí shromažďování dat na cílovou funkci a podřízené funkce volané touto funkcí.

Uvnitř – vloží funkci StartProfile hned za položku do cílové funkce. Vloží funkci StopProfile těsně před každou vrácenou cílovou funkcí.

Mimo – vloží funkci StartProfile těsně před každé volání cílové funkce. Vloží funkci StopProfile hned po každém volání cílové funkce.

funcname – název cílové funkce.
Pozastavit: { Uvnitř | Mimo rámec},funcname Vyloučí shromažďování dat pro cílovou funkci a podřízené funkce volané funkcí.

Uvnitř – vloží funkci SuspendProfile hned za položku do cílové funkce. Vloží funkci ResumeProfile těsně před každou vrácenou cílovou funkcí.

Mimo – vloží funkci SuspendProfile těsně před vstup do cílové funkce. Vloží funkci ResumeProfile hned po ukončení z cílové funkce.

funcname – název cílové funkce

Pokud cílová funkce obsahuje funkci StartProfile, je před ní vložena funkce SuspendProfile. Pokud cílová funkce obsahuje funkci StopProfile, je po ní vložena funkce ResumeProfile.
StartOnly: { Před | Po | Horní část | Dolní část},funcname Zahájí shromažďování dat během běhu profilace. Vloží funkci rozhraní API StartProfile v zadaném umístění.

Před – bezprostředně před cílovou položkou funkce.

After hned po ukončení cílové funkce.

Nahoru a hned za cílovou položkou funkce.

Zdola – těsně před každým návratem v cílové funkci.

funcname – název cílové funkce
StopOnly:{before | po | horní | části},funcname Zastavuje shromažďování dat během běhu profilace. Vloží funkci StopProfile do zadaného umístění.

Před – bezprostředně před cílovou položkou funkce.

After hned po ukončení cílové funkce.

Nahoru a hned za cílovou položkou funkce.

Zdola – těsně před každým návratem v cílové funkci.

funcname – název cílové funkce
SuspendOnly:{before | po | horní | části},funcname Zastavuje shromažďování dat během běhu profilace. Vloží rozhraní API SuspendProfile v zadaném umístění.

Před – bezprostředně před cílovou položkou funkce.

After hned po ukončení cílové funkce.

Nahoru a hned za cílovou položkou funkce.

Zdola – těsně před každým návratem v cílové funkci.

funcname – název cílové funkce

Pokud cílová funkce obsahuje funkci StartProfile, je před ní vložena funkce SuspendProfile.
ResumeOnly:{before | po | horní | části},funcname Spustí nebo obnoví shromažďování dat během běhu profilace.

Obvykle se používá ke spuštění profilování poté, co možnost SuspendOnly zastaví profilování. Vloží rozhraní ResumeProfile API v zadaném umístění.

Před – bezprostředně před cílovou položkou funkce.

After hned po ukončení cílové funkce.

Nahoru a hned za cílovou položkou funkce.

Zdola – těsně před každým návratem v cílové funkci.

funcname – název cílové funkce

Pokud cílová funkce obsahuje funkci StopProfile, je po ní vložena funkce ResumeProfile.

Viz také