Udostępnij za pośrednictwem


Porady: dołączanie profilera do autonomicznej aplikacji natywnej i zbieranie statystyk aplikacji 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 uruchomionej natywnej aplikacji autonomicznej (klienta) oraz zbierania statystyk wydajnościowych 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 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.

Jeśli program Profiler jest dołączony do aplikacji, można wstrzymywać i wznawiać zbieranie danych.Aby zakończyć sesję profilowania, Profiler nie może być już dołączony do aplikacji i musi być jawnie zamknięty.

Dołącz Profiler

Aby dołączyć Profiler do aplikacji docelowej za pomocą Profilera, użyj opcji VSPerfCmd/start i /attach do zainicjowania Profilera 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.Używasz /globalon, aby rozpocząć zbieranie danych.

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

  1. Otwórz okno wiersza polecenia.

  2. Uruchom program Profiler.Typ:

    **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ż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

    Włącza profilowanie procesów w innych sesjach.Ta opcja jest wymagana, jeśli aplikacja ASP.NET 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 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).

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

    VSPerfCmd /attach:{PID|ProcName} [Sample Event]

    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.

    Domyślnie dane dotyczące wydajności są próbkowane co 10 000 000 niewstrzymanych cykli zegara procesora.Oznacza to około 100 razy na sekundę w przypadku procesora 1GHMożesz określić jedną z następujących opcji, aby zmienić interwał cyklu zegara lub określić inne zdarzenie próbkowania.

    Zdarzenie próbkowania

    Opis

    /timer:Interval

    Zamienia interwał próbkowania na liczbę niewstrzymanych cykli zegara, które są określone przez Interval.

    /pf[:Interval]

    Zamienia zdarzenie próbkowania na błędy stron.Jeśli Interval jest określony, ustawia liczbę błędów stron pomiędzy próbkami.Domyślnie jest to 10.

    /sys [:Interval]

    Zamienia zdarzenie próbkowania na wywołania systemowe z procesu do jądra systemu operacyjnego (syscalls).Jeśli Interval jest określony, ustawia liczbę wywołań pomiędzy próbkami.Domyślnie jest to 10.

    /licznik:Config

    Zamienia zdarzenie próbkowania i interwał na licznik wydajności procesora oraz interwał określony w Config.

Kontrolowanie zbierania danych

Gdy uruchomiona jest aplikacja docelowa, opcje programu VSPerfCmd.exe umożliwiają uruchamianie i zatrzymywanie zapisu danych.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 PID.

    /dołącz:PID/odłącz

    /attach rozpoczyna gromadzenie danych dla procesu określonego przez PID./detach zatrzymuje zbieranie danych dla wszystkich procesów.

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ć 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ć 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:

    VSPerfClrEnv /off

Zobacz też

Koncepcje

Profilowanie wiersza polecenia aplikacji autonomicznych

Inne zasoby

Widok danych metody próbkowania profilera