Udostępnij za pośrednictwem


Jak: Instrument macierzystym składnik autonomiczne i zbieranie danych czasu z Profiler 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 Profiling Tools znajdują się w podkatalogu \Team Tools\Performance Tools katalogu instalacyjnego Visual Studio.Na komputerach 64-bitowych dostępne są obie 32-bitowe i 64-bitowe wersje narzędzia.Aby użyć narzędzi profilowania z wiersza poleceń, należy dodać ścieżkę narzędzi do zmiennej środowiskowej PATH okna wiersza poleceń lub dodać do niej samo polecenie.Aby uzyskać więcej informacji, zobacz Określając ścieżkę do narzędzia wiersza polecenia narzędzia 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 profiler.Po wykonaniu instrumentowanego składnika, dane chronometrażu są automatycznie zbierane do pliku danych.Można 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

  1. Otwórz okno wiersza polecenia.

  2. Użyj narzędzia VSInstr do generacji instrumentowanej wersji aplikacji docelowej.

  3. Uruchom profiler.Wpisz:

    **VSPerfCmd /start:trace /output:**OutputFile [Options]

    • Opcja /start:trace inicjuje profiler.

    • 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.

    /crosssession

    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ślony jako skrót dla /crosssession.

    /globaloff

    Uruchamia profiler ze wstrzymanym zbieraniem danych.Użyj /globalon aby wznowić profilowanie.

    /counter: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 być zbierany podczas profilowania.

    /automark:Interval

    Należy używać wyłącznie 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 Śledzenie zdarzeń systemu Windows (ETW), które ma być zbierane podczas profilowania.Zdarzenia ETW są gromadzone w oddzielnym pliku (.etl).

  4. Uruchom aplikację docelową w typowy sposób.

Kontrolowanie zbierania danych

Gdy jest uruchomiona aplikacja docelowa, można kontrolować zbierania danych przez uruchamianie i zatrzymywanie zapisywania 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

  • Następujące pary opcji uruchamiają i zatrzymują zbieranie danych.Określ każdą opcję w oddzielnym 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 (/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).

  • Można również użyć opcji VSPerfCmd.exe/mark aby wstawić znacznik programu profilującego do pliku danych.Polecenie /mark dodaje identyfikator, sygnaturę czasową i opcjonalny tekst zdefiniowany przez użytkownika.Znaczniki mogą być używane do filtrowania danych w raportach programu profilującego i widokach danych.

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

  1. Zamknij aplikację docelową.

  2. Zamknij profiler.Wpisz:

    VSPerfCmd /shutdown

Zobacz też

Koncepcje

Wiersza polecenia profilowania aplikacji autonomicznych

Inne zasoby

Widoki danych metody Instrumentacji Profiler