Sdílet prostřednictvím


Postupy: Instrumentace nativní služby a shromažďování podrobných dat časování pomocí příkazového řádku profileru

Toto téma popisuje použití nástrojů příkazového řádku nástrojů pro profilaci sady Visual Studio k instrumentaci nativní služby (C/C++) a sběru detailních dat o časování.

[!POZNÁMKA]

Metodou instrumentace nelze profilovat službu, není-li možné ji po spuštění počítače restartovat (například služba spouštěná pouze spolu s operačním systémem).

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.

Pro shromáždění podrobných časových údajů z nativní služby pomocí metody instrumentace je používán nástroj VSInstr.exe, který generuje instrumentovanou verzi komponenty.Jakmile je neinstrumentovaná verze služby nahrazena instrumentovanou verzí, je nutné se ujistit, že je služba nastavena na manuální spuštění.Poté je spuštěn profiler.

Jakmile je služba spuštěna, data o časování jsou automaticky shromažďována do datového souboru.Během relace profilování lze sběr dat pozastavovat a obnovovat.

Chcete-li relaci profilování ukončit, ukončete službu a explicitně vypněte profiler.

Spuštění aplikace profilerem

Spuštění profilování nativní služby

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

  2. Vygenerujte instrumentovanou verzi binárního souboru služby pomocí nástroje VSInstr.

  3. Nahraďte původní binární soubor instrumentovanou verzí.Ve Správci řízení služeb systému Windows se ujistěte, že Typ spuštění služby je nastaven na Ručně.

  4. Spusťte profiler.Zadejte:

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

    • Možnost /start:trace inicializuje profiler.

    • Možnost **/output:**OutputFile je vyžadována s možností /start.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í.

    [!POZNÁMKA]

    Možnosti /user a /crosssession jsou obvykle požadovány pro aplikace ASP.NET.

    Možnost

    Description

    /user:[Domain\]UserName

    Určuje doménu a uživatelské jméno účtu vlastnícího pracovní proces ASP.NET.Tato možnost je vyžadována, pokud je proces spuštěn pod jiným uživatelem, než je přihlášený uživatel.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 přihlašovacích relacích.Tato možnost je vyžadována, je-li aplikace ASP.NET spuštěna v jiné relaci.ID relace je uvedeno ve sloupci ID relace na kartě Procesy ve Správci úloh systému Windows./CS může být zadán jako zkratka pro /crosssession.

    /waitstart[:Interval]

    Určuje počet sekund, po které se má čekat na inicializaci profileru, než je vrácena chyba.Není-li zadán parametr Interval, čeká profiler neomezeně dlouho.Ve výchozím nastavení příkaz /start vrátí hodnotu okamžitě.

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

    /counter:Config

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

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

  5. Spustit službu ve Správci řízení služeb.

Řízení sběru dat

Jakmile je služba spuštěna, je možné použít možnosti VSPerfCmd.exe pro spuštění a zastavení zápisu dat do datového souboru profilování.Řízení sběru dat umožňuje shromažďovat data určité části programu, například spouštění či ukončování služby.

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

  • Následující páry možností 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) sběr dat pro proces určený pomocí ID procesu (PID).

    /threadon:TID/threadoff:TID

    Spustí (/threadon) nebo zastaví (/threadoff) sběr dat pro vlákno určené pomocí ID vlákna (TID).

Ukončení relace profilování

Chcete-li ukončit relaci profilování, zastavte službu, v níž je spuštěna instrumentovaná komponenta, a poté zavolejte možnost VSPerfCmd/shutdown, vypněte profiler a zavřete soubor dat profilování.

Ukončení relace profilování

  1. Ukončit službu ve Správci řízení služeb.

  2. Ukončete profiler.Zadejte:

    VSPerfCmd /shutdown

  3. Nahraďte instrumentovaný modul jeho původní verzí.V případě potřeby znovu nastavte Typ spouštění služby.

Viz také

Koncepty

Profilace služeb z příkazového řádku

Další zdroje

Zobrazení dat metod instrumentace profileru