Sdílet prostřednictvím


Postupy: Instrumentace samostatné součásti rozhraní .NET Framework a shromažďování dat paměti pomocí příkazového řádku profileru

Toto téma popisuje způsob použití nástrojů příkazového řádku nástrojů profilování systému Visual Studio k instrumentaci komponenty rozhraní .NET Framework samostatné aplikace, například s příponou .exe nebo .dll, a ke shromažďování informací o paměti pomocí profilování.

[!POZNÁMKA]

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.

Chcete-li shromažďovat data paměti z komponenty rozhraní .NET Framework pomocí metody instrumentace, lze použít nástroj VSInstr.exe ke generování instrumentované verze této komponenty a nástroj VSPerfCLREnv.cmd k inicializaci proměnných prostředí profilování.Poté spusťte profilování pomocí nástroje VSPerfCmd.exe.

Po spuštění instrumentované komponenty jsou data paměti automaticky uložena do datového souboru.Během relace profilování lze sběr dat pozastavovat a obnovovat.

Chcete-li ukončit relaci profilování, ukončete cílovou aplikaci a explicitně vypněte profiler.Ve většině případů doporučujeme na konci relace vyčistit proměnné prostředí profilování.

Spuštění aplikace profilerem

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

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

  2. Vygenerujte instrumentovanou verzi cílové aplikace pomocí nástroje VSInstr.

  3. Inicializace proměnných prostředí profilování rozhraní .NET Framework.Zadejte:

    VSPerfClrEnv {/tracegc | /tracegclife}

    • Možnosti /tracegc a /tracegclife inicializují proměnné prostředí pro shromažďování pouze dat o přidělování paměti nebo ke shromažďování dat přidělování paměti i dat životního cyklu objektu.

      Možnost

      Description

      /tracegc

      Umožňuje sběr dat pouze o přidělování paměti.

      /tracegclife

      Umožňuje sběr dat o přidělování paměti a životním cyklu objektů.

  4. Spusťte profiler.Zadejte:

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

    • Možnost /start:trace 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:trace lze použít kteroukoli z následujících možností.

    Možnost

    Description

    /user:[Domain\]UserName

    Určuje doménu a uživatelské jméno účtu vlastnícího profilovaný proces.Tato možnost je vyžadována, pouze pokud je proces spuštěn pod jiným než přihlášeným uživatelem.Vlastník procesu je uveden ve sloupci Uživatelské jméno na záložce Procesy ve Správci úloh systému Windows.

    /crosssession

    Umožňuje profilování procesů v jiných relacích.Tato možnost je vyžadována, pokud je aplikace spuštěna v jiné relaci.Identifikátor relace je vypsán ve sloupci ID relace na záložce Procesy ve Správci úloh systému Windows./CS může být zadán jako zkratka pro /crosssession.

    /globaloff

    Chcete-li spustit profiler s pozastaveným sběrem dat, přidejte do příkazového řádku /start možnost /globaloff.Obnovu profilování provedete pomocí /globalon.

    /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.

    /counter:Config

    Shromažďuje informace z čítače výkonu procesoru zadaného v souboru Config.Informace čítače jsou přidány do dat shromážděných při každé události profilování.

    události: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).

  5. Cílovou aplikaci spusťte z okna Příkazový řádek.

Řízení sběru dat

Když je cílová aplikace spuštěna, lze sběr dat řídit spouštěním či pozastavováním zápisu dat do souboru pomocí možností nástroje 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í nástroje VSPerfCmd 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) shromažďování dat pro proces určený daným identifikátorem ID (PID).

    /threadon:TID/threadoff:TID

    Spustí (/threadon) nebo zastaví (/threadoff) shromažďování dat pro vlákno určené ID vlákna (TID).

Ukončení relace profilování

Chcete-li ukončit relaci profilování, ukončete aplikaci, v níž je spuštěna instrumentovaná komponenta, vypněte profiler použitím možnosti VSPerfCmd /shutdown a uzavřete soubor dat profilování.Příkaz VSPerfClrEnv /off vymaže proměnné prostředí profilování.

Ukončení relace profilování

  1. 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:

    VSPerfCmd /off

Viz také

Koncepty

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

Další zdroje

Zobrazení dat paměti .NET nástrojů pro profilaci