Udostępnij za pośrednictwem


Porady: uruchamianie aplikacji autonomicznej .NET Framework z profilerem do zbierania danych pamięci przy użyciu wiersza polecenia

W tym temacie opisano, jak używać narzędzi wiersza poleceń Visual Studio Profiling Tools do uruchamiania autonomicznych (klient) aplikacji .NET Framework i zbierać dane dotyczące pamięci.

Sesja profilowania składa się z trzech części:

  • Uruchamianie aplikacji przy użyciu profilera.

  • Zbieranie danych profilowania.

  • Kończenie sesji profilowania.

[!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ślanie ścieżki do narzędzi wiersza polecenia narzędzi profilowania.

Uruchamianie aplikacji za pomocą profilera

Aby uruchomić docelową aplikację przy użyciu profilera, należy użyć opcji VSPerfCmd.exe/start i /launch do zainicjowania profilera i uruchomienia aplikacji.Można określić /start i /launch oraz ich odpowiednie opcje w wierszu poleceń.

Można również dodać opcje /globaloff aby wstrzymać zbieranie danych przy uruchomieniu aplikacji docelowej.Następnie należy użyć /globalon, aby rozpocząć zbieranie danych.

Aby uruchomić aplikację przy użyciu profilera

  1. Otwórz okno wiersza poleceń.

  2. Uruchom profiler.Wpisz:

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

    • Opcja /start:sample inicjuje profiler.

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

    Można użyć dowolnej z następujących opcji z opcją /start:sample.

    Opcja

    Opis

    /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 licznika wydajności systemu Windows.Wartość domyślna to 500ms.

  3. Uruchom aplikację docelową.Wpisz:

    VSPerfCmd /launch:appName/gc:{allocation|lifetime}[Options]

    • Opcja /gc**:**Keyword jest wymagana do zbierania danych pamięci .NET Framework.Parametr słowa kluczowego określa, czy będą zbierane dane alokacji pamięci lub czy będą zbierane dane alokacji pamięci oraz okresu istnienia obiektu.

      Słowo kluczowe

      Opis

      allocation

      Zbiera tylko dane alokacji pamięci.

      lifetime

      Zbiera dane alokacji pamięci i okresu istnienia obiektu.

    Można użyć dowolnej z następujących opcji z opcją /launch.

    Opcja

    Opis

    /args:Arguments

    Określa ciąg, który zawiera argumenty wiersza polecenia przekazywane do aplikacji docelowej.

    /console

    Uruchamia docelową aplikację wiersza polecenia w oddzielnym oknie.

    /events:Config

    Określa zdarzenie Śledzenie zdarzeń systemu Windows (ETW), które mają być zbierane podczas profilowania.Zdarzenia ETW są zbierane w oddzielnym pliku (.etl).

    /targetclr:Version

    Określa wersję common language runtime (CLR) do profilowania, gdy więcej niż jedna wersja środowiska wykonawczego jest załadowana w aplikacji.

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 poleceń.Zbieranie danych można włączać i wyłączać wiele razy.

    Opcja

    Opis

    /globalon /globaloff

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

    /processon:PIDprocessoff:PID

    Uruchamia (/processon) lub zatrzymuje (/processoff) zbieranie danych dla procesu, który jest określony przez identyfikator procesu (PID).

    /attach:PID/detach

    /attach uruchamia zbierania danych dla procesu, który jest określony przez PID (identyfikator procesu)./detach zatrzymuje zbieranie danych dla wszystkich procesów.

  • 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 od filtrowania danych.

Kończenie sesji profilowania

Aby zakończyć sesję profilowania, profiler musi zostać odłączony od wszystkich profilowanych procesów i musi być jawnie zamknięty.Można 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 należy wywołać opcję VSPerfCmd /shutdown aby wyłączyć profiler 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ć profiler od aplikacji docelowej:

    • Zamknij aplikację docelową.

      -lub-

    • Wpisz VSPerfCmd /detach

  2. Zamknij profiler.Wpisz:

    VSPerfCmd /shutdown

Zobacz też

Koncepcje

Profilowanie wiersza polecenia aplikacji autonomicznych

Inne zasoby

Widoki danych pamięci profilera .NET