Udostępnij za pośrednictwem


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

W tym temacie opisano, jak używać narzędzi wiersza poleceń Profiling Tools Visual Studio podczas dołączania Profilera do usługi .NET Framework i zbierania danych współbieżności procesu i wątku, przy użyciu metody próbkowania.

[!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 Profiling Tools znajdują się w podkatalogu \Team Tools\Performance Tools katalogu instalacyjnego programu 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ć dane współbieżności, profiler musi być dołączony do procesu usługi.Gdy profiler jest dołączony do usługi, można wstrzymywać i wznawiać zbieranie danych.Aby zakończyć sesję profilowania, Profiler nie może być już dołączony do usługi i musi być jawnie zamknięty.W większości przypadków na końcu sesji zaleca się wyczyszczenie zmiennych środowiskowych profilowania.

Dołączanie programu Profiler

Aby dołączyć Profiler do usługi .NET Framework

  1. Zainstaluj usługę.

  2. Otwórz okno polecenia.

  3. Inicjowanie zmiennych środowiskowych profilowania.Typ:

    VSPerfClrEnv/globalsampleon [/samplelineoff]

    • /globalsampleon umożliwia pobieranie próbek.

    • /samplelineoff wyłącza przypisanie zebranych danych do określonego źródła wierszy kodu.Jeśli opcja ta została określona, dane są przypisane tylko do funkcji.

  4. Uruchom ponownie komputer.

  5. Uruchom program Profiler.Typ:

    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 z następujących opcji z opcją /start.

    [!UWAGA]

    Opcje /user i /crosssession są zazwyczaj wymagane dla usług.

    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 usługa jest uruchomiona w innej sesji.Identyfikator sesji jest wyświetlany w kolumnie Identyfikator sesji, na karcie Procesy w Menedżerze zadań Windows./CS może być określona jako skrót dla /crosssession.

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

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

  6. Jeśli to konieczne, uruchom usługę.

  7. Dołącz profiler do usługi.Typ:

    **VSPerfCmd /attach:PID [/targetclr:**Version]

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

    • **targetclr:**Version określa wersję środowiska wykonawczego języka wspólnego (CLR) do profilowania, gdy więcej niż jedna wersja środowiska wykonawczego jest załadowana w aplikacji.Opcjonalnie.

Kontrolowanie zbierania danych

Gdy uruchomiona jest usługa, można kontrolować zbieranie danych przez uruchamianie i zatrzymywanie zapisywania danych do pliku za pomocą 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 VSPerfCmd 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).

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

    /attach uruchamia zbieranie danych dla procesu określonego przez identyfikator procesu lub nazwę procesu./detach zatrzymuje zbieranie danych dla określonego procesu lub dla wszystkich procesów, jeśli konkretny proces nie jest określony.

  • Możesz także użyć opcji VSPerfCmd.exe/mark, aby wstawić znacznik programu profilującego do pliku z danymi.Polecenie /mark dodaje identyfikator, sygnaturę czasową i opcjonalny tekst zdefiniowany przez użytkownika.Znaczniki mogą być używane do filtrowania danych w raportach profilera i w widokach danych.Następujące pary opcji VSPerfCmd uruchamiają i zatrzymują zbieranie danych.Określ każdą opcję w oddzielnym wierszu poleceń.Zbieranie danych można wielokrotnie włączać i wyłączać.

Kończenie sesji profilowania

Aby zakończyć sesję profilowania, profiler nie może zbierać danych.Możesz zatrzymać zbieranie danych z aplikacji profilowanej metodą współbieżności przez zatrzymanie usługi lub wywołanie opcji VSPerfCmd /detach.Następnie wywołujesz opcję VSPerfCmd /shutdown, aby wyłączyć profiler i zamknąć plik danych profilowania.Polecenie VSPerfClrEnv /globaloff usuwa zmienne środowiskowe profilowania, ale konfiguracja systemu nie jest resetowana do ponownego uruchomienia komputera.

Aby zakończyć sesję profilowania

  1. Wykonaj jedną z następujących czynności, aby odłączyć profiler z aplikacji docelowej.

    • Zatrzymaj usługę.

      -lub-

    • Typ VSPerfCmd /detach.

  2. Zamknij program Profiler.Typ:

    VSPerfCmd Shutdown