Udostępnij za pośrednictwem


Porady: dołączanie profilera do usługi natywnej i zbieranie danych współbieżności przy użyciu wiersza polecenia

W tym temacie opisano, jak używać narzędzi wiersza poleceń Visual Studio Narzędzi profilujących do dołączenia programu profilującego do macierzystej (C/C++) usługi i zbierania danych współbieżności procesu i wątku, przy użyciu metody pobierania próbek.

[!UWAGA]

Ulepszone funkcje zabezpieczeń w systemach Windows 8 i Windows Server 2012 wymagają znaczących zmian w sposobie, w jaki program Profiler środowiska Visual Studio zbiera dane na tych platformach.Aplikacje Windows Store również wymagają nowych technik zbierania.Zobacz Profilowanie aplikacji Windows 8 i Windows Server 2012.

[!UWAGA]

Narzędzia wiersza polecenia narzędzia profilowania znajdują się w podkatalogu narzędzia \Team Tools\Performance z katalogu instalacyjnego programu Visual Studio.Na komputerach 64-bitowych dostępne są obie, 32-bitowa i 64-bitowa wersja narzędzia.Aby użyć programu profilującego w wierszu polecenia, należy dodać ścieżkę narzędzi do zmiennej środowiskowej PATH okna Wiersz polecenia lub dodać ją do samego polecenia.Aby uzyskać więcej informacji, zobacz Określanie ścieżki do narzędzi wiersza polecenia narzędzi profilowania.

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

Dołączanie programu Profiler

Aby dołączyć program profilujący do macierzystej usługi, należy użyć opcji VSPerfCmd/start i /attach do zainicjowania programu profilującego i dołączenia go do aplikacji docelowej.Możesz określić /start i /attach oraz ich odpowiednie opcje dla pojedynczego wiersza polecenia.Możesz również dodać opcję /globaloff, aby wstrzymać zbieranie danych przy uruchomieniu aplikacji docelowej.Następnie należy użyć /globalon do rozpoczęcia zbierania danych.

Aby dołączyć program profilujący do macierzystej usługi

  1. Jeśli usługa nie jest uruchomiona, uruchom ją.

  2. Rozpocznij program profilujący, wpisując następujące polecenie w wierszu polecenia:

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

    • Opcja /output**:**OutputFile jest wymagana z /start.OutputFile określa nazwę i lokalizację pliku danych profilowania (.vsp).

    Możesz użyć dowolnej opcji z poniższej tabeli z opcją /start .

    [!UWAGA]

    Większość usług wymaga opcji /user i /crosssession.

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

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

  3. Dołącz program profilujący do usługi, wpisując następujące polecenie w wierszu polecenia:

    **VSPerfCmd /attach:**PID

    PID określa identyfikator procesu lub nazwę procesu aplikacji docelowej.W Menedżerze zadań systemu Windows można wyświetlić identyfikatory i nazwy wszystkich uruchomionych procesów.

Kontrolowanie zbierania danych

Gdy jest uruchomiona aplikacja docelowa, można kontrolować zbieranie danych przez uruchamianie i zatrzymywanie zapisywania danych do pliku za pomocą opcji VSPerfCmd.exe.Przez kontrolowanie zbierania danych, można zbierać 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 poleceń.Zbieranie danych można wielokrotnie włączać i wyłączać.

    Opcja

    Opis

    /globalon /globaloff

    Uruchamia (/globalon) lub zatrzymuje (/globaloff) zbieranie danych dla wszystkich procesów.

    /processon:PID/processoff:PID

    Uruchamia (/processon) lub zatrzymuje (/processoff) zbieranie danych dla procesu określonego przez identyfikator procesu (PID).

    /dołącz:{PID|ProcName} /odłącz[:{PID|ProcName}]

    /attach uruchamia zbieranie danych dla procesu określonego przez identyfikator procesu (PID) lub nazwę 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, profiler nie może zbierać danych.Można zatrzymać zbieranie danych z macierzystej usługi, która jest profilowana metodą współbieżności, przez zatrzymanie usługi lub wywołując opcję VSPerfCmd /detach.Następnie wywołujesz opcję VSPerfCmd /shutdown, aby wyłączyć profiler i zamknąć plik danych profilowania.

Aby zakończyć sesję profilowania

  1. Odłącz program profilujący od docelowej aplikacji przez zatrzymanie usługi lub wpisanie następującego polecenia w wierszu polecenia:

    Typ VSPerfCmd /detach

  2. Zamknij program profilujący, wpisując następujące polecenie w wierszu polecenia:

    VSPerfCmd /shutdown