Postupy: Připojení profileru k nativní samostatné aplikaci 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í nativní samostatné (klientské) aplikaci 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.
[!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.
Když je profiler připojen k aplikaci, lze pozastavit a obnovit sběr dat.Chcete-li ukončit relaci profilování, nesmí být profiler již připojen k aplikaci a musí být explicitně vypnut.
Připojit profiler
Pro připojení profileru k cílové aplikaci pomocí profileru je třeba použít možnosti VSPerfCmd/start a /attach pro inicializaci profileru a pro připojení k cílové aplikaci.Možnosti /start a /attach a jejich příslušné volby lze zadat na jednom řádku příkazu.Chcete-li pozastavit shromažďování dat a spustit cílovou aplikaci, lze přidat možnost /globaloff.Spuštění sběru dat je pak provedeno možností /globalon.
Připojení profileru k běžící aplikaci rozhraní .NET Framework
Otevřete okno příkazového řádku.
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 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.
Umožňuje profilování procesů v jiných relacích.Tato možnost je vyžadována, je-li aplikace ASP.NET 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.
/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).
Připojte profiler k cílové aplikaci.Zadejte:
VSPerfCmd /attach:{PID|ProcName} [Sample Event]
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.
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ě 100krát za sekundu 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í.
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 odběru vzorků a interval na čítač výkonu procesoru a interval zadaný parametrem Config.
Řízení sběru dat
Jakmile je cílová aplikace 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 pro určitou část provádění 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í 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í (PID).
/attach spustí sběr dat pro proces zadaný pomocí PID./detach zastaví sběr dat pro všechny procesy.
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í
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.
Ukončete profiler.Zadejte:
VSPerfCmd /shutdown
(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