Sdílet prostřednictvím


VSInstr

Nástroj VSInstr se používá k instrumentaci binárních souborů. Vyvolá se pomocí následující syntaxe:

VSInstr [/U] filename [/options]

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

Možnosti Popis
Nápověda nebo ? Zobrazí nápovědu.
U Zapíše přesměrovaný výstup konzoly jako Unicode. Musí být zadána první možnost.
@filename Určuje název souboru odpovědi, který obsahuje jednu možnost příkazu na řádek. Nepoužívejte uvozovky.
Výstupní cesta :path Určuje cílový adresář pro instrumentovanou image. Pokud není zadána výstupní cesta, původní binární soubor se přejmenuje připojením "Orig" k názvu souboru ve stejném adresáři a kopie binárního souboru se instrumentuje.
Vyloučit: funcspec Určuje specifikaci funkce, která se má vyloučit z instrumentace sondami. Je užitečné, když profilace vložení sondy do funkce způsobí nepředvídatelné nebo nežádoucí výsledky.

Nepoužívejte možnosti Vyloučit a Zahrnout , které odkazují na funkce ve stejném binárním souboru.

Můžete zadat více specifikací funkce pomocí samostatných možností vyloučení .

funcspec je definován jako:

[oddělovač oboru názvů1<>] [oddělovač tříd2<>]function

<oddělovač1> je :: určený pro nativní kód a . spravovaný kód.

<oddělovač2> je vždy ::

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

Podporuje se zástupný znak * . Pokud chcete například vyloučit všechny funkce v oboru názvů, použijte:

MyNamespace::*

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

Specifikace více funkcí můžete zadat pomocí samostatných možností Zahrnout .

Nepoužívejte možnosti Zahrnout a Vyloučit , 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:

[oddělovač oboru názvů1<>] [oddělovač tříd2<>]function

<oddělovač1> je :: určený pro nativní kód a . spravovaný kód.

<oddělovač2> je vždy ::

Podporuje se zástupný znak * . Pokud například chcete zahrnout všechny funkce v oboru názvů, použijte:

MyNamespace::*

VSInstr /DumpFuncs můžete použít k výpisu úplných názvů funkcí v zadaném binárním souboru.
DumpFuncs Zobrazí seznam funkcí v zadaném obrázku. Neprovádí se žádná instrumentace.
ExcludeSmallFuncs Vyloučí z instrumentace malé funkce, což jsou krátké funkce, které nevyvolávají žádná volání funkcí. Možnost ExcludeSmallFuncs poskytuje menší režii instrumentace a tím vyšší rychlost instrumentace.

Vyloučení malých funkcí také snižuje .Velikost souboru vsp a doba potřebná k analýze.
Značka:{Před|horním||dolním okrajem},funcname,markid Vloží značku profilu (identifikátor použitý k oddělení dat v sestavách), který můžete použít k identifikaci začátku nebo konce oblasti dat v souboru sestavy .vsp.

Před - Bezprostředně před položkou cílové funkce.

Za - Okamžitě po ukončení cílové funkce.

Nahoře – hned po zadání cílové funkce.

Dole – bezprostředně před každým návratem v cílové funkci.

funcname - Název cílové funkce

Markid - Kladné celé číslo (dlouhé), které se použije jako identifikátor značky profilu.
Disponibilita Provádí instrumentaci pokrytí. Lze ji použít pouze s následujícími možnostmi: Podrobné, Výstupní cesta, Vyloučit a Protokolfile.
Užvaněný Podrobná možnost slouží k zobrazení podrobných informací o procesu instrumentace.
NoWarn [:[Message Number[;Message Number]]] Potlačit všechna nebo konkrétní upozornění

Message Number - číslo upozornění. Pokud Message Number je vynechán, potlačí se všechna upozornění.

Další informace najdete v tématu Upozornění VSInstr.
Řízení: { Globální proces vlákna | | } Určuje úroveň profilace následujících možností ovládacího prvku shromažďování dat VSInstr:

Spustit

StartOnly

Suspend

StopOnly

SuspendOnly

ResumeOnly

Vlákno – určuje řídicí funkce shromažďování dat na úrovni vláken. Profilace je spuštěna nebo zastavena pouze pro aktuální vlákno. Stav profilace jiných vláken není ovlivněn. Výchozí hodnota je vlákno.

Proces – určuje funkce řízení shromažďování dat na úrovni procesu. Profilace se spustí nebo zastaví pro všechna vlákna v aktuálním procesu. Stav profilace jiných procesů není ovlivněn.

Globální – určuje funkce řízení shromažďování dat na globální úrovni (napříč procesy).

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

Uvnitř – Vloží funkci StartProfile bezprostředně za položku do cílové funkce. Vloží funkci StopProfile bezprostředně před každý návrat v cílové funkci.

Vnější – vloží funkci StartProfile bezprostředně před každé volání cílové funkce. Vloží funkci StopProfile ihned po každém volání cílové funkce.

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

Uvnitř – Vloží funkci SuspendProfile bezprostředně za položku do cílové funkce. Vloží funkci ResumeProfile bezprostředně před každý návrat v cílové funkci.

Vnější – Vloží funkci SuspendProfile bezprostředně před položku do cílové funkce. Vloží funkci ResumeProfile ihned po ukončení cílové funkce.

funcname - název cílové funkce.

Pokud cílová funkce obsahuje funkci StartProfile, před ní se vloží funkce SuspendProfile. Pokud cílová funkce obsahuje funkci StopProfile, funkce ResumeProfile se vloží za ní.
StartOnly: { Před | po | horní | dolní části },funcname Zahájí shromažďování dat během spuštění profilace. Vloží funkci rozhraní API StartProfile do zadaného umístění.

Před - bezprostředně před položkou cílové funkce.

Za - hned po ukončení cílové funkce.

Nahoře – hned za položkou cílové funkce.

Dole – 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í profilace. Vloží funkci StopProfile do zadaného umístění.

Před - bezprostředně před položkou cílové funkce.

Za - hned po ukončení cílové funkce.

Nahoře – hned za položkou cílové funkce.

Dole – 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í profilace. Vloží rozhraní API SuspendProfile do zadaného umístění.

Před - bezprostředně před položkou cílové funkce.

Za - hned po ukončení cílové funkce.

Nahoře – hned za položkou cílové funkce.

Dole – 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, před ní se vloží funkce SuspendProfile.
ResumeOnly:{Before after||top|bottom},funcname Zahájí nebo obnoví shromažďování dat během spuštění profilace.

Obvykle se používá k zahájení profilace poté , co možnost SuspendOnly přestala profilovat. Vloží rozhraní API ResumeProfile do zadaného umístění.

Před - bezprostředně před položkou cílové funkce.

Za - hned po ukončení cílové funkce.

Nahoře – hned za položkou cílové funkce.

Dole – 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 se vloží za ní.

Viz také