Instrumentowanie autonomicznego składnika natywnego i zbieranie danych o chronometrażu przy użyciu profilera z wiersza polecenia
W tym temacie opisano sposób używania narzędzi profilowania wiersza polecenia programu Visual Studio do instrumentowania składnika natywnego, takiego jak C++.exe lub .plik dll oraz zbieranie szczegółowych danych o chronometrażu.
Aby zebrać szczegółowe dane o chronometrażu ze składnika przy użyciu metody instrumentacji, należy użyć narzędzia VSInstr.exe do wygenerowania instrumentowanej wersji składnika. Następnie uruchom profilera. Po wykonaniu instrumentowanego składnika dane o chronometrażu są automatycznie zbierane do pliku danych. Zbieranie danych można wstrzymać i wznowić podczas sesji profilowania.
Ścieżka do narzędzi profilowania to Microsoft Visual Studio\version\Enterprise\Team Tools\DiagnosticsHub\Collector.
Uwaga
Aby użyć narzędzi wiersza polecenia profilera, należy dodać ścieżkę narzędzi do zmiennej środowiskowej PATH okna wiersza polecenia lub dodać ją do samego polecenia.
Aby zakończyć sesję profilowania, zamknij aplikację docelową, a następnie jawnie zamknij profilera.
Rozpoczynanie sesji profilowania
Aby rozpocząć profilowanie przy użyciu metody instrumentacji:
Otwórz wiersz polecenia.
Użyj narzędzia VSInstr, aby wygenerować instrumentowaną wersję aplikacji docelowej.
Uruchom profilera. Typ:
VSPerfCmd /start:trace /output:
OutputFile
[Options
]Opcja /start:trace inicjuje profilera.
/output:
OutputFile
opcja jest wymagana z /start.OutputFile
określa nazwę i lokalizację pliku danych profilowania (vsp).Możesz użyć co najmniej jednej z następujących opcji z opcją /start:trace .
Opcja Opis /user:[ Domain
\]UserName
Określa domenę i nazwę użytkownika konta, które jest właścicielem profilowanego procesu. Ta opcja jest wymagana tylko wtedy, gdy proces jest uruchomiony jako użytkownik inny niż zalogowany użytkownik. Właściciel procesu znajduje się na liście w kolumnie Nazwa użytkownika na karcie Procesy Menedżera zadań systemu Windows. /crosssession Umożliwia profilowanie procesów w innych sesjach. Ta opcja jest wymagana, jeśli aplikacja jest uruchomiona w innej sesji. Identyfikator sesji znajduje się w kolumnie Identyfikator sesji na karcie Procesy Menedżera zadań systemu Windows. /CS można określić jako skrót / crosssession. /Globaloff Uruchamia profilera z wstrzymaną kolekcją danych. Użyj /globalon , aby wznowić profilowanie. /counter: Config
Zbiera informacje z licznika wydajności procesora określonego w pliku Config
. Informacje o liczniku są dodawane do danych zbieranych podczas każdego zdarzenia profilowania./wincounter: WinCounterPath
Określa licznik wydajności systemu Windows, który ma być zbierany podczas profilowania. /automark: Interval
Użyj tylko z /wincounter . Określa liczbę milisekund między zdarzeniami zbierania liczników wydajności systemu Windows. Wartość domyślna to 500 ms. /events: Config
Określa zdarzenie śledzenia zdarzeń systemu Windows (ETW) do zbierania podczas profilowania. Zdarzenia ETW są zbierane w osobnym (.plik etl). Uruchom aplikację docelową w typowy sposób.
Sterowanie zbieraniem danych
Gdy aplikacja docelowa jest uruchomiona, możesz kontrolować zbieranie danych, uruchamiając i zatrzymując zapisywanie danych w pliku przy użyciu opcji VSPerfCmd.exe . Kontrolowanie zbierania danych umożliwia zbieranie danych dla określonej części wykonywania programu, takich jak uruchamianie lub zamykanie aplikacji.
Aby rozpocząć i zatrzymać zbieranie danych:
Poniższe pary opcji uruchamiają i zatrzymują zbieranie danych. Określ każdą opcję w osobnym wierszu polecenia. Zbieranie danych można włączać i wyłączać wiele razy.
Opcja Opis /globalon /globaloff Uruchamia (/globalon) lub zatrzymuje zbieranie danych (/globaloff) dla wszystkich procesów. /processon: PID
/processoff:PID
Uruchamia (/processon) lub zatrzymuje zbieranie danych (/processoff) dla procesu określonego przez identyfikator procesu ( PID
)./threadon: TID
[/threadoff].. /profiling/threadon-and-threadoff.md) :TID
Uruchamia (/threadon) lub zatrzymuje zbieranie danych (/threadoff) dla wątku określonego przez identyfikator wątku ( TID
).
Kończ sesję profilowania
Aby zakończyć sesję profilowania, zamknij aplikację, która uruchamia instrumentowany składnik, a następnie wywołaj opcję VSPerfCmd/shutdown , aby wyłączyć profilera i zamknąć plik danych profilowania.
Aby zakończyć sesję profilowania:
Zamknij aplikację docelową.
Zamknij profilera. Typ:
VSPerfCmd /shutdown
Powiązana zawartość
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla