Udostępnij za pośrednictwem


Jak: dołączanie Profiler aplikacji macierzystej autonomiczne i zbieranie danych współbieżności przy użyciu wiersza polecenia

W temacie opisano, jak używać narzędzi do profilowania z wiersza polecenia Visual Studio, aby dołączyć profiler do działającej autonomicznej aplikacji macierzystej (C/C++) i zebrać dane o rywalizacji wątków.

[!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 polecenia, 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.

Gdy profiler jest dołączony do aplikacji, można wstrzymywać i wznawiać zbieranie danych.Aby zakończyć sesję profilowania, profiler nie może już być dołączony do aplikacji i musi być jawnie zamknięty.

Dołączanie profilera do działającej aplikacji macierzystej

Aby dołączyć działającej aplikacji macierzystej

  1. W wierszu polecenia wpisz następujące polecenie:

    VSPerfCmd/start:concurrency

    Można używać dowolnych opcji w poniższej tabeli z opcją /start:concurrency.

    Opcja

    Opis

    /user:[Domain\]Username

    Określa opcjonalną domenę i nazwę użytkownika konta, aby uzyskać dostęp do programu profilującego.

    /crosssession

    Włącza profilowanie procesów w innych sesjach logowania.

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

    /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).

  2. Dołącz profiler do aplikacji docelowej, wpisując następujące polecenie:

    VSPerfCmd /attach:{PID|ProcName}

    PID określa identyfikator procesu aplikacji docelowej.Identyfikatory wszystkich uruchomionych procesów można przeglądać w Menedżerze zadań systemu Windows.

Kontrolowanie zbierania danych

Gdy uruchomiona jest aplikacja docelowa można kontrolować zbieranie danych przez uruchamianie i zatrzymywanie zapisu danych do pliku za pomocą opcji VSPerfCmd.exe.Przez kontrolowanie zbierania danych, można zebrać dane dla określonej części wykonywania programu, takiej jak uruchamianie lub zamykanie aplikacji.

Aby uruchomić i zatrzymać zbieranie danych

  • Pary opcji w poniższej tabeli, 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 określa identyfikator procesu (PID).

    /attach:{PID|ProcName} /detach[:{PID|ProcName}]

    /attach uruchamia zbieranie danych dla procesu, który określa identyfikator procesu (PID) lub nazwa procesu (ProcName)./detach zatrzymuje zbieranie danych dla określonego procesu lub dla wszystkich procesów, jeśli żaden proces nie jest określony.

Kończenie sesji profilowania

Aby zakończyć sesję profilowania, program profilujący nie może być w trakcie zbierania danych.Można zatrzymać zbieranie danych z aplikacji profilowanej metodą pobierania próbek przez zamknięcie aplikacji lub wywołując opcję VSPerfCmd /detach.Następnie należy wywołać opcję VSPerfCmd /shutdown aby wyłączyć program profilujący i zamknąć plik danych profilowania.

Aby zakończyć sesję profilowania

  1. Odłącz profiler od aplikacji docelowej, zamykając go lub wpisując następujące polecenie:

    VSPerfCmd /detach

  2. Zamknij profiler, wpisując następujące polecenie:

    VSPerfCmd /shutdown