Udostępnij za pośrednictwem


Porady: instrumentowanie składnika autonomicznego .NET Framework i zbieranie danych pamięci za pomocą profilera z wiersza polecenia

W tym temacie opisano, jak używać Profiling Tools wiersza poleceń Visual Studio do instrumentacji składnika .NET Framework autonomicznej aplikacji, na przykład pliku exe lub dll i zbierać informacje o pamięci przy użyciu profilera.

[!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ć 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 zbierać danych o pamięci ze składnika .NET Framework, przy użyciu metody instrumentacji, należy użyć narzędzia VSInstr.exe do generowania wersji instrumentowanej składnika i narzędzia VSPerfCLREnv.cmd do inicjowania zmiennych środowiskowych profilowania.Następnie należy uruchomić profiler za pomocą narzędzia VSPerfCmd.exe.

Podczas wykonywania instrumentowanego składnika, dane pamięci zbierane są automatycznie do pliku danych.Możesz wstrzymywać i wznawiać zbieranie danych podczas sesji profilowania.

Aby zakończyć sesję profilowania, należy zamknąć aplikację docelową i jawnie zamknąć profiler.W większości przypadków na końcu sesji zaleca się wyczyszczenie zmiennych środowiskowych profilowania.

Uruchamianie aplikacji z programem profilującym

Aby dołączyć Profiler do działającej aplikacji .NET Framework

  1. Otwórz okno wiersza polecenia.

  2. Użyj narzędzia VSInstr do generacji instrumentowanej wersji aplikacji docelowej.

  3. Zainicjuj profilowanie zmiennych środowiskowych .NET Framework.Typ:

    VSPerfClrEnv {/tracegc | /tracegclife}

    • Opcje /tracegc i /tracegclife inicjują zmienne środowiskowe, tak aby zbierane były tylko dane alokacji pamięci lub dane okresu istnienia obiektu i alokacji pamięci.

      Opcja

      Opis

      /tracegc

      Umożliwia gromadzenie tylko danych alokacji pamięci.

      /tracegclife

      Umożliwia zbieranie zarówno danych alokacji pamięci i danych okresu istnienia obiektu.

  4. Uruchom program Profiler.Typ:

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

    • Opcja /start:trace 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:trace.

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

    /globaloff

    Aby rozpocząć wstrzymane zbieranie danych przez profiler należy dodać opcję /globaloff do wiersza polecenia /start.Użyj /globalon aby wznowić profilowanie.

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

    /licznik:Config

    Zbiera informacje z licznika wydajności procesora, określonego w pliku konfiguracyjnym.Informacje z licznika zostaną dodane do danych zbieranych na każde zdarzenie profilowania.

    events:Config

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

  5. Uruchom aplikację docelową z okna Wiersza poleceń.

Kontrolowanie zbierania danych

Gdy jest uruchomiona aplikacja docelowa, można kontrolować zbieranie 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

  • 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, który jest określony przez identyfikator procesu (PID).

    /threadon:TID/threadoff:TID

    Uruchamia (/threadon) lub zatrzymuje (/threadoff) zbieranie danych dla wątku, który jest określony przez identyfikator wątku (TID).

Kończenie sesji profilowania

Aby zakończyć sesję profilowania, należy zamknąć aplikację, która uruchamia składnik instrumentowany, a następnie należy wywołać 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. 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