Porady: instrumentowanie autonomicznego elementu natywnego i zbieranie danych o chronometrażu przy użyciu profilera z wiersza polecenia
W tym temacie opisano, jak używać narzędzi wiersza polecenia Visual Studio Profiling Tools do instrumentacji składników natywnych takich jak plik C++ .exe lub .dll i zbierać szczegółowe dane chronometrażu.
[!UWAGA]
Narzędzia wiersza poleceń dla Narzędzi profilowania znajdują się w podkatalogu \Team Tools\Performance Tools katalogu instalacyjnego Visual Studio.Na komputerach 64-bitowych dostępne są obie, 32-bitowa i 64-bitowa wersja narzędzia.Aby użyć narzędzi profilowania z wiersza polecenia, należy dodać ścieżkę narzędzi do zmiennej środowiskowej PATH okna Wiersza polecenia lub dodać do niej samo polecenie.Aby uzyskać więcej informacji, zobacz Określanie ścieżki do narzędzi wiersza polecenia narzędzi profilowania.
Aby zebrać szczegółowe dane chronometrażu ze składnika używając metody instrumentacji, należy użyć narzędzia VSInstr.exe, aby wygenerować instrumentowaną wersję składnika.Następnie uruchom program profilujący.Po wykonaniu instrumentowanego składnika, dane chronometrażu są automatycznie zbierane do pliku danych.Możesz wstrzymywać i wznawiać zbieranie danych podczas sesji profilowania.
Aby zakończyć sesję profilowania, należy zamknąć aplikację docelową i następnie jawnie zamknąć profiler.
Rozpoczynanie sesji profilowania
Aby uruchomić profilowanie przy użyciu metody Instrumentacji
Otwórz okno wiersza polecenia.
Użyj narzędzia VSInstr do generacji instrumentowanej wersji aplikacji docelowej.
Uruchom program Profiler.Typ:
**VSPerfCmd /start:trace /output:**OutputFile [Options]
Opcja /start:trace inicjuje program profilujący.
Opcja /output**:**OutputFile jest wymagana z /start.OutputFile określa nazwę i lokalizację pliku danych profilowania (vsp).
Można użyć jednej lub więcej z następujących opcji wraz z opcją /start:trace.
Opcja
Opis
/user:[Domain]\]UserName
Określa nazwę domeny i użytkownika konta, który jest właścicielem profilowanego procesu.Ta opcja jest wymagana tylko jeśli proces działa jako użytkownik inny niż zalogowany użytkownik.Właściciel procesu jest wymieniony w kolumnie Nazwa użytkownika na karcie Procesy Menedżera zadań Windows.
Włącza profilowanie procesów w innych sesjach.Ta opcja jest wymagana, jeśli aplikacja jest uruchomiona w innej sesji.Identyfikator sesji jest wymieniony w kolumnie identyfikator sesji, na karcie Procesy Menedżera zadań Windows./CS może być określona jako skrót dla /crosssession.
Uruchamia profiler ze wstrzymanym zbieraniem danych.Użyj /globalon aby wznowić profilowanie.
/licznik:Config
Zbiera informacje z licznika wydajności procesora, który jest określony w Config.Informacje z licznika zostaną dodane do danych zbieranych na każde zdarzenie profilowania.
/wincounter:WinCounterPath
Określa licznik wydajności systemu Windows, który ma zbierać dane podczas profilowania.
/automark:Interval
Używaj wyłącznie z /wincounter.Określa liczbę milisekund między zdarzeniami zbierania licznika wydajności systemu Windows.Wartość domyślna to 500 ms.
/zdarzenia:Config
Określa zdarzenie śledzenia zdarzeń systemu Windows (ETW), które mają być zbierane podczas profilowania.Zdarzenia ETW są zbierane w oddzielnym pliku (.etl).
Uruchom aplikację docelową w typowy sposób.
Kontrolowanie zbierania danych
Gdy jest uruchomiona aplikacja docelowa, można kontrolować zbierania danych przez uruchamianie i zatrzymywanie zapisywanie danych do pliku przy użyciu opcji VSPerfCmd.exe.Kontrolowanie zbierania danych umożliwia zbieranie danych dla określonej części wykonywania programu, takiej jak uruchamianie lub zamykanie aplikacji.
Aby uruchomić i zatrzymać zbieranie danych
Poniższe pary opcji uruchamiają i zatrzymują zbieranie danych.Określ każdą opcję w oddzielnym wierszu poleceń.Zbieranie danych można wielokrotnie włączać i wyłączać.
Opcja
Opis
Uruchamia (/globalon) lub zatrzymuje (/globaloff) zbieranie danych dla wszystkich procesów.
/processon:PID/processoff:PID
Uruchamia (/processon) lub zatrzymuje (/processoff) zbieranie danych dla procesu, który jest określony przez identyfikator procesu (PID).
/threadon:TID/threadoff:TID
Uruchamia (/threadon) lub zatrzymuje (/threadoff) zbieranie danych dla wątku, który jest określony przez identyfikator wątku (TID).
Kończenie sesji profilowania
Aby zakończyć sesję profilowania, należy zamknąć aplikację, która uruchamia składnik instrumentowany, a następnie należy wywołać VSPerfCmd /shutdown, aby wyłączyć profiler i zamknąć plik danych profilowania.
Aby zakończyć sesję profilowania
Zamknij aplikację docelową.
Zamknij program Profiler.Typ:
VSPerfCmd /shutdown
Zobacz też
Koncepcje
Profilowanie wiersza polecenia aplikacji autonomicznych