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é funkceMarkid - 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í. |