Sdílet prostřednictvím


Postupy: Připojení profileru k samostatné aplikaci .NET Framework a shromažďování statistik aplikace pomocí příkazového řádku

Toto téma popisuje, jak pomocí nástrojů příkazového řádku Nástroje pro profilaci Visual Studio připojit profiler k běžící samostatné (klientské) aplikaci .NET Framework a shromáždit statistiky výkonu pomocí metody odběru vzorků.

[!POZNÁMKA]

Rozšířené funkce zabezpečení v systému Windows 8 a Windows Server 2012 vyžadují významné změny ve způsobu, jakým profiler systému Visual Studio na těchto platformách shromažďuje data.Aplikace pro Windows Store také vyžadují nové techniky kolekce.Viz téma Profilování aplikací Windows 8 a Windows Server 2012.

Nástroje příkazového řádku balíku nástrojů pro profilaci jsou umístěny v podadresáři \Team Tools\Performance Tools instalačního adresáře aplikace Visual Studio.Na 64bitových počítačích jsou k dispozici 64bitové i 32bitové verze nástrojů.Chcete-li využívat nástroje příkazového řádku profileru, je nezbytné přidat cestu k nástrojům do proměnné prostředí PATH v okně příkazového řádku nebo do příkazu samého.Další informace naleznete v tématu Určení cesty k nástrojům příkazového řádku pro profilaci.

Přidání dat interakce vrstvy do běhu profilování vyžaduje zvláštní procedury s nástroji pro profilaci příkazového řádku.Viz téma Přidání dat interakce vrstev z příkazového řádku.

Ke shromáždění příslušných dat výkonu z aplikace rozhraní .NET Framework musí být před spuštěním cílové aplikace inicializovány příslušné proměnné prostředí.Když je profiler připojen k aplikaci, lze pozastavit a obnovit sběr dat.

Chcete-li ukončit relaci profilování, profiler nesmí být již připojen k aplikaci a musí být explicitně vypnut.Ve většině případů doporučujeme na konci relace profilování vyčistit proměnné prostředí profilování.

Připojení profileru

Připojení profileru k běžící aplikaci rozhraní .NET Framework

  1. Otevřete okno příkazového řádku.

  2. Inicializujte proměnné prostředí pro profilování.Zadejte:

    VSPerfClrEnv /sampleon [/samplelineoff]

    • Možnost /samplelineoff zakazuje shromažďování dat o číslech řádků zdrojového kódu.
  3. Spusťte profiler.Zadejte:

    **VSPerfCmd /start:sample /output:**OutputFile [Options]

    • Možnost /start:sample inicializuje profiler.

    • Spolu s možností /start je vyžadována možnost /output**:**OutputFile.OutputFile určuje název a umístění souboru dat profilování (.vsp).

    S možností /start:sample lze použít kteroukoli z následujících možností.

    Možnost

    Description

    /user:[Domain\]UserName

    Určuje volitelnou doménu a uživatelské jméno účtu vlastnícího profilovaný proces.Tato možnost je vyžadována, pouze pokud byla profilovaná aplikace spuštěna pod jiným než přihlášeným uživatelem.

    /crosssession

    Umožňuje profilování procesů v jiných přihlašovacích relacích./CS může být zadán jako zkratka pro /crosssession.Tato možnost je vyžadována, pokud je aplikace spuštěna v jiné relaci.

    /wincounter:WinCounterPath

    Určuje čítač výkonu systému Windows, který má být shromážděn během profilování.

    /automark:Interval

    Použijte pouze spolu s možností /wincounter.Určuje počet milisekund mezi událostmi sběru čítače výkonu systému Windows.Výchozí hodnota je 500 ms.

    /events:Config

    Určuje událost ETW, která má být shromážděna během profilování.Události trasování událostí pro Windows jsou shromážděny v samostatném souboru (.etl).

  4. Je-li třeba, spusťte cílovou aplikaci standardním způsobem.

  5. Připojte profiler k cílové aplikaci.Zadejte:

    VSPerfCmd /attach:{PID|ProcessName} [Sample Event] [**/targetclr:**Version]

    • PID určuje ID procesu cílové aplikace.ProcessName určuje název procesu.Pamatujte, že pokud zadáte ProcessName a běží více procesů, které mají stejný název, výsledky mohou být nepředvídatelné.ID všech spuštěných procesů lze zobrazit ve Správci úloh systému Windows.

    • /targetclr**:**Version určuje verzi modulu Common Language Runtime (CLR), která má být profilována v případě, že je do aplikace načtena více než jedna verze modulu.Volitelné.

    • Ve výchozím nastavení jsou data výkonu vzorkována každých 10 000 000 nepřerušených hodinových cyklů procesoru.To je přibližně jednou za 10 sekund u procesoru s frekvencí 1 GHz.Pro změnu intervalu hodinových cyklů nebo změnu událostí vyvolávajících odběr vzorků lze zadat jednu z následujících možností./targetclr**:**Version určuje verzi modulu CLR, která má být profilována v případě, že je do aplikace načtena více než jedna verze modulu.Volitelné.

    Událost vzorku

    Description

    /timer:Interval

    Změní interval monitorování na počet nepřerušených hodinových cyklů, které jsou určeny parametrem Interval.

    /pf [:Interval]

    Změní událost odběru vzorků na chyby stránek.Pokud je určen, nastaví parametr Interval počet chyb stránek mezi vzorky.Výchozí hodnota je 10.

    /sys [:Interval]

    Změní událost odběru vzorků na volání systému z procesu do jádra operačního systému (syscalls).Pokud je zadán parametr Interval, nastaví počet volání mezi vzorky.Výchozí hodnota je 10.

    /counter:Config

    Změní událost a interval odběru vzorků na čítač výkonu a interval procesoru zadané parametrem Config.

Řízení sběru dat

Pokud je cílová aplikace spuštěna, může být sběr dat řízen spuštěním nebo zastavením zápisu dat do profilovacích dat použitím možností příkazu VSPerfCmd.exe.Řízení sběru dat umožňuje shromažďovat data pro určitou část programu, například spouštění či ukončování aplikace.

Spuštění a zastavení sběru dat

  • Následující páry možností spouští a zastavují sběr dat.Každou možnost zadejte na samostatný příkazový řádek.Sběr dat lze zapnout a vypnout několikrát.

    Možnost

    Description

    /globalon /globaloff

    Spustí (/globalon) nebo zastaví (/globaloff) sběr dat pro všechny procesy.

    /processon:PID/processoff:PID

    Spustí (/processon) nebo zastaví (/processoff) sběr dat pro proces určený pomocí (PID).

    /attach:{PID|ProcName} /detach[:{PID|ProcName}]

    /attach spustí sběr dat pro proces určený identifikátorem PID nebo názvem procesu (ProcName)./detach zastaví sběr dat pro zadaný proces nebo pro všechny procesy, pokud konkrétní proces není zadán.

Ukončení relace profilování

Chcete-li ukončit relaci profilování, musí být profiler odpojen od všech profilovaných procesů a poté explicitně ukončen.Od aplikace profilované za použití metody vzorkování lze profiler odpojit ukončením aplikace nebo zavoláním možnosti VSPerfCmd /detach.Poté je zapotřebí zavolat možnost VSPerfCmd /shutdown, čímž se profiler vypne a uzavře soubor dat profilování.Příkaz VSPerfClrEnv /off vymaže proměnné prostředí profilování.

Ukončení relace profilování

  1. Chcete-li odpojit profiler od cílové aplikace, proveďte jeden z následujících kroků:

    • Zadejte VSPerfCmd /detach

      -nebo-

    • Ukončete cílovou aplikaci.

  2. Ukončete profiler.Zadejte:

    VSPerfCmd /shutdown

  3. (Volitelné) Vyčistěte proměnné prostředí pro profilování.Zadejte:

    VSPerfClrEnv /off

Viz také

Koncepty

Profilace samostatných aplikací z příkazového řádku

Další zdroje

Zobrazení dat metod vzorkování profileru