VSInstr
Nástroj VSInstr se používá k instrumentaci binárních souborů.To je vyvoláno pomocí následující syntaxe:
VSInstr [/U] filename [/options]
Následující tabulka popisuje možnosti nástroje VSInstr:
Parametry |
Description |
---|---|
Help nebo ? |
Zobrazí nápovědu. |
U |
Zapíše přesměrovaný výstup konzole jako Unicode.Musí to být první zadaná možnost. |
@filename |
Určuje název souboru odpovědí, který obsahuje jednu možnost příkazu pro řádek.Nepoužívejte uvozovky. |
OutputPath:path |
Určuje cílový adresář pro instrumentovaný obrázek.Pokud není zadána výstupní cesta, původní binární soubor je přejmenován přidáním přípony "Orig" do názvu souboru ve stejném adresáři a je instrumentována kopie binárnho souboru. |
Exclude:funcspec |
Určuje specifikaci funkce pro vyloučení z instrumentace pokusy.Je užitečný, když náhodné vložení profilování ve funkci způsobí nepředvídatelné nebo nežádoucí výsledky. Nepoužívejte možnosti Exclude a Include, které odkazují na funkce ve stejném binárním souboru. Lze určit více specifikací funkce se samostatnými možnostmi Exclude. funcspec je definován jako: [namespace<separator1>] [class<separator2>]function <separator1> je :: pro nativní kód a . pro spravovaný kód. <separator2> je vždy :: Exclude je podporován s pokrytím kódu. Zástupný znak * je podporován.Chcete-li například vyloučit všechny funkce v oboru názvů, použijte: MyNamespace::* Pro vypsání úplných názvů funkcí v zadaném binárním souboru lze použít VSInstr /DumpFuncs. |
Include:funcspec |
Určuje specifikaci funkce v binárním souboru pro instrumentaci s pokusy.Ostatní funkce v binárních souborech nejsou instrumentovány. Lze určit více specifikací funkce se samostatnými možnostmi Include. Nepoužívejte možnosti Include a Exclude, které odkazují na funkce ve stejném binárním souboru. Include není podporován s pokrytím kódu. funcspec je definován jako: [namespace<separator1>] [class<separator2>]function <separator1> je :: pro nativní kód a . pro spravovaný kód. <separator2> je vždy :: Zástupný znak * je podporován.Chcete-li například zahrnout všechny funkce v oboru názvů, použijte: MyNamespace::* Pro vypsání úplných názvů funkcí v zadaném binárním souboru lze použít VSInstr /DumpFuncs. |
DumpFuncs |
Uvádí seznam funkcí v rámci zadaného obrázku.Není provedena žádná instrumentace. |
ExcludeSmallFuncs |
Vyloučí z instrumentace malé funkce, které jsou krátkými funkcemi, které neprovádějí žádná volání funkce.Možnost ExcludeSmallFuncs zajišťuje menší režii instrumentace a tím i větší rychlost instrumentace. Vyloučení malých funkcí také snižuje velikost souboru .vsp a čas nutný pro analýzu. |
Mark:{Before|After|Top|Bottom},funcname,markid |
Vloží značku profilu (identifikátor použitý k oddělení dat v sestavách), kterou lze použít pro určení začátku nebo konce oblasti dat v souboru sestavy .vsp. Before- Bezprostředně před vstupem cílové funkce. After- Ihned po ukončení cílové funkce. Top- Ihned po vstupu cílové funkce. Bottom- Bezprostředně před každým návratem v cílové funkci. funcname- Název cílové funkce Markid- Kladné celé číslo (dlouhé) jako identifikátor značky profilu. |
Coverage |
Provede instrumentaci pokrytí.Lze ji použít pouze s následujícími možnostmi: Verbose, OutputPath, Exclude a Logfile.. |
Verbose |
Možnost Verbose se používá k zobrazení podrobných informací o procesu instrumentace. |
NoWarn[:[Message Number[;Message Number]]] |
Potlačí všechna nebo specifická upozornění. Message Number- číslo varování.Pokud je vynecháno Message Number, jsou potlačeny všechny výstrahy. Další informace naleznete v tématu Upozornění VSInstr. |
Control:{Thread|Process|Global} |
Určuje úroveň profilování následujících Možností kontroly shromažďování dat VSInstr: Start StartOnly Suspend StopOnly SuspendOnly ResumeOnly Thread- určuje funkce kontroly shromažďování dat na úrovni podprocesu.Profilování je spuštěno nebo zastaveno pouze pro aktuální podproces.Stav profilování jiných podprocesů není ohrožen.Výchozí nastavení je podproces. Process- určuje funkce kontroly shromažďování dat profilování na úrovni procesu.Profilování spustí nebo zastaví všechny podprocesy v aktuálním procesu.Stav profilování jiných procesů není ovlivněn. Global- určuje funkce kontroly shromažďování dat na globální úrovni (napříč procesy). Pokud nezadáte úroveň profilování, dojde k chybě. |
Start:{Inside|Outside},funcname |
Omezuje shromažďování dat na cílové funkce a podřízené funkce volané funkcí. Inside- Ihned po vstupu do cílové funkce vloží funkci StartProfile.Funkci StopProfile vloží bezprostředně před každým návratem v cílové funkci. Outside- Vloží funkci StartProfile bezprostředně před každým voláním do cílové funkce.Funkci StopProfile vloží ihned po každém volání do cílové funkce. funcname - název cílové funkce. |
Suspend:{Inside|Outside},funcname |
Pro cílovou funkci a podřízené funkce volané funkcí vyloučí shromažďování dat. Inside- Ihned po vstupu do cílové funkce vloží funkci SuspendProfile.Bezprostředně před každým návratem v cílové funkci vloží funkci ResumeProfile. Outside- Ihned před vstupem do cílové funkce vloží funkci SuspendProfile.Ihned po opuštění cílové funkce vloží funkci ResumeProfile. funcname- název cílové funkce. Pokud cílová funkce obsahuje funkci StartProfile, funkce SuspendProfile je vložena před ní.Pokud cílová funkce obsahuje funkci StopProfile, funkce ResumeProfile je vložena po ní. |
StartOnly:{Before|After|Top|Bottom},funcname |
Spustí shromažďování dat během spuštění profilování.Vloží v určeném umístění funkci rozhraní API StartProfile. Before- bezprostředně před vstupem cílové funkce. After- ihned po ukončení cílové funkce. Top- ihned po vstupu cílové funkce. Bottom- bezprostředně před každým návratem v cílové funkci. funcname- název cílové funkce. |
StopOnly:{Before|After|Top|Bottom},funcname |
Zastaví shromažďování dat během spuštění profilování.Vloží v určeném umístění funkci StopProfile. Before- bezprostředně před vstupem cílové funkce. After- ihned po ukončení cílové funkce. Top- ihned po vstupu cílové funkce. Bottom- bezprostředně před každým návratem v cílové funkci. funcname- název cílové funkce. |
SuspendOnly:{Before|After|Top|Bottom},funcname |
Zastaví shromažďování dat během spuštění profilování.Vloží v určeném umístění rozhraní API SuspendProfile. Before- bezprostředně před vstupem cílové funkce. After- ihned po ukončení cílové funkce. Top- ihned po vstupu cílové funkce. Bottom- bezprostředně před každým návratem v cílové funkci. funcname- název cílové funkce. Pokud cílová funkce obsahuje funkci StartProfile, funkce SuspendProfile je vložena před ní. |
ResumeOnly:{Before|After|Top|Bottom},funcname |
Spustí nebo obnoví shromažďování dat během spuštění profilování. Je obvykle používán ke spuštění profilování poté, co možnost SuspendOnly profilování zastavila.Vloží v určeném umístění rozhraní API ResumeProfile. Before- bezprostředně před vstupem cílové funkce. After- ihned po ukončení cílové funkce. Top- ihned po vstupu cílové funkce. Bottom- bezprostředně před každým návratem v cílové funkci. funcname- název cílové funkce. Pokud cílová funkce obsahuje funkci StopProfile, funkce ResumeProfile je vložena po ní. |