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
Otevřete okno příkazového řádku.
Vygenerujte instrumentovanou verzi binárního souboru služby pomocí nástroje VSInstr.
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ě.
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.
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ě.
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).
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
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í
Ukončit službu ve Správci řízení služeb.
Ukončete profiler.Zadejte:
VSPerfCmd /shutdown
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