Postupy: Instrumentace nativní samostatné součásti a shromažďování dat časování z 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ích komponent, například souboru .exe nebo .dll jazyka C++, a ke shromáždění podrobných časových údajů.
[!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.
Pro shromáždění podrobných časových údajů z komponenty pomocí metody instrumentace je používán nástroj VSInstr.exe, který generuje instrumentovanou verzi komponenty.Poté je spuštěn profiler.Po spuštění instrumentované komponenty jsou automaticky shromážděny časové údaje do souboru dat.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 poté explicitně vypněte profiler.
Spuštění relace profilování
Spuštění profilování pomocí metody instrumentace
Otevřete okno příkazového řádku.
Vygenerujte instrumentovanou verzi cílové aplikace pomocí nástroje VSInstr.
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).
Pomocí možnosti /start:trace lze použít jednu nebo více 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, 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.
Spustí profiler s pozastaveným sběrem dat.Možnost /globalon obnoví profilování.
/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í.
/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).
Spusťte cílovou aplikaci standardním způsobem.
Ří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 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í 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) 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í.
Ukončení relace profilování
Ukončete cílovou aplikaci.
Ukončete profiler.Zadejte:
VSPerfCmd /shutdown
Viz také
Koncepty
Profilace samostatných aplikací z příkazového řádku