Udostępnij za pośrednictwem


Porady: dołączanie profilera do aplikacji autonomicznej .NET Framework w celu zbierania danych pamięci przy użyciu wiersza polecenia

W tym temacie opisano, jak używać narzędzi wiersza poleceń Visual Studio Premium Narzędzi profilujących do dołączenia programu profilującego do uruchomionej autonomicznej aplikacji .NET Framework (klient) i zbierania danych w pamięci.

[!UWAGA]

Narzędzia wiersza poleceń dla Narzędzi profilowania znajdują się w podkatalogu \Team Tools\Performance Tools katalogu instalacyjnego 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 dołączyć do aplikacji .NET Framework i pamięci zbierania danych, należy użyć VSPerfCLREnv.cmd narzędzia, aby zainicjować zmienne środowiskowe przed uruchomieniem aplikacji docelowej.Jeśli program profilujący jest dołączony do aplikacji, można użyć narzędzia VSPerfCmd.exe, aby wstrzymywać i wznawiać zbieranie danych.

Aby zakończyć sesję profilowania, profiler musi zostać odłączony od wszystkich profilowanych procesów i 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 działającej aplikacji .NET Framework

  1. Otwórz okno wiersza polecenia.

  2. Inicjowanie zmiennych środowiskowych profilowania.Typ:

    VSPerfClrEnv {/samplegc | /samplegclife} [/samplelineoff]

    • Opcje /samplegc i /samplegclife określają, czy będą zbierane tylko dane alokacji pamięci lub czy będą zbierane dane alokacji pamięci oraz okresu istnienia obiektu.Musi być określona jedna i tylko jedna opcja.

      Opcja

      Opisy

      /samplegc

      Zbiera tylko dane alokacji pamięci.

      /samplegclife

      Zbiera dane alokacji pamięci i okresu istnienia obiektu.

    • Opcja /samplelineoff wyłącza zbieranie danych o numerze linii w kodzie źródłowym.

  3. Uruchom program Profiler.Typ:

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

    • Opcja /start:sample inicjuje inicjuje program profilujący.

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

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

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

  4. W razie potrzeby można uruchomić aplikację docelową w typowy sposób.

  5. Dołącz profiler do aplikacji docelowej.Typ:

    VSPerfCmd /attach:{PID|ProcName} [/targetclr**:**Version]

    • PID określa identyfikator procesu aplikacji docelowej.ProcessName określa nazwę procesu.Należy zauważyć, że jeśli zostanie określone ProcessName i uruchomionych jest wiele procesów, które mają taką samą nazwę, wyniki są nieprzewidywalne.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 jest uruchomiona aplikacja docelowa, można kontrolować zbierania danych przez uruchamianie i zatrzymywanie zapisywanie 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

  • Poniższe pary opcji 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, który jest określony przez PID.

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

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

Kończenie sesji profilowania

Aby zakończyć sesję profilowania, profiler musi zostać odłączony od wszystkich profilowanych procesów i jawnie zamknięty.Możesz odłączyć profiler od aplikacji, która była profilowana przy użyciu metody próbkowania przez zamknięcie aplikacji lub wywołanie opcji VSPerfCmd /detach.Następnie wywołujesz opcję VSPerfCmd /shutdown, aby wyłączyć program profilujący i zamknąć plik danych profilowania.Polecenie VSPerfClrEnv /off czyści zmienne środowiskowe profilowania.

Aby zakończyć sesję profilowania

  1. Wykonaj jeden z następujących kroków, aby odłączyć program Profiler od aplikacji docelowej:

    • Typ VSPerfCmd /detach

      -lub-

    • Zamknij aplikację docelową.

  2. Zamknij program Profiler.Typ:

    VSPerfCmd /shutdown

  3. (Opcjonalne) Wyczyść zmienne środowiskowe profilowania.Typ:

    VSPerfCmd /off

Zobacz też

Koncepcje

Profilowanie wiersza polecenia aplikacji autonomicznych

Inne zasoby

Widoki danych pamięci profilera .NET