Sdílet prostřednictvím


Postupy: Spuštění samostatné aplikace rozhraní .NET Framework s profilerem za účelem shromáždění dat paměti pomocí příkazového řádku

Toto téma popisuje použití nástrojů příkazového řádku balíku Visual Studio Profiling Tools ke spuštění samostatné (klientské) aplikace platformy .NET Framework a ke shromáždění dat v paměti.

Relace profilování má tři části:

  • Spuštění aplikace za použití profileru.

  • Shromáždění dat profilování.

  • Ukončení relace profilování.

[!POZNÁMKA]

Nástroje příkazového řádku balíku Profiling Tools 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 profiléru, je nezbytné přidat cestu k nástrojům do proměnné prostředí PATH v okně Příkazový řádek 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.

Spuštění aplikace profilerem

Při spuštění cílové aplikace za použití profiléru je pro inicializaci profiléru a spuštění aplikace používán příkaz VSPerfCmd.exe s možnostmi /start a /launch.Možnosti /start a /launch a jejich příslušné volby lze zadat na jeden příkazový řádek.

Chcete-li pozastavit shromažďování dat a spustit cílovou aplikaci, lze přidat možnosti /globaloff.Spuštění sběru dat je pak provedeno možností /globalon.

Spuštění aplikace pomocí profileru

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

  2. 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.Parametr 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

    /wincounter:WinCounterPath

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

    /automark:Interval

    Používejte 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.

  3. Spusťte cílovou aplikaci.Zadejte:

    VSPerfCmd /launch:appName/gc:{allocation|lifetime}[Options]

    • Pro shromáždění paměťových dat .NET Framework je vyžadována možnost /gc**:**Keyword.Parametr Keyword určuje, zda mají být shromažďována data o přidělování paměti nebo zda shromažďovat také data o životním cyklu objektu.

      Klíčové slovo

      Description

      allocation

      Shromažďovat pouze data o přidělování paměti.

      lifetime

      Shromažďovat data o přidělování paměti i o životním cyklu objektu.

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

    Možnost

    Description

    /args:Arguments

    Určuje řetězec, který obsahuje argumenty příkazového řádku předávané cílové aplikaci.

    /console

    Spustí cílovou aplikaci příkazového řádku v samostatném okně.

    /events:Config

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

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

Řízení sběru dat

Je-li 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 určité části 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:PIDprocessoff:PID

    Spustí (/processon) nebo zastaví (/processoff) shromažďování dat pro proces určený daným identifikátorem ID (PID).

    /attach:PID/detach

    Možnost /attach spustí sběr dat pro proces určený parametrem PID (ID procesu).Možnost /detach zastaví sběr dat pro všechny procesy.

  • Lze také použít možnost VSPerfCmd.exe/mark a vložit tak do datového souboru profilovací značku.Příkaz /mark přidá identifikátor, časové razítko a volitelný uživatelem definovaný textový řetězec.Značky mohou být použity pro filtrování dat.

Ukončení relace profilování.

Chcete-li ukončit relaci profilování, musí být profilér 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ž je profilér vypnut a uzavřen 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ů:

    • Ukončete cílovou aplikaci.

      -nebo-

    • Zadejte příkaz VSPerfCmd /detach

  2. Ukončete profiler.Zadejte:

    VSPerfCmd /shutdown

Viz také

Koncepty

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

Další zdroje

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