Porady: dołączanie profilera do aplikacji autonomicznej .NET Framework i zbieranie statystyk aplikacji przy użyciu wiersza polecenia
W tym temacie opisano, jak używać narzędzi wiersza poleceń Visual Studio Narzędzi profilujących do dołączenia programu profilującego do uruchomionej autonomicznej aplikacji .NET Framework (klient) i zbierania statystyk wydajności przy użyciu metody pobierania próbek.
[!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.
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.
Dodawanie danych interakcji do profilowania uruchomi szczególne procedury z wiersza polecenia narzędzia profilowania.Zobacz Dodawanie danych o interakcji między warstwami za pośrednictwem wiersza polecenia.
Aby zebrać dane dotyczące wydajności z aplikacji .NET Framework, przed uruchomieniem aplikacji docelowej odpowiednie zmienne środowiskowe muszą być zainicjowane.Jeśli program Profiler jest dołączony do aplikacji, można wstrzymywać i wznawiać zbieranie danych.
Aby zakończyć sesję profilowania, program profilujący nie może być już dołączony do aplikacji i musi być jawnie zamknięty.W większości przypadków zaleca się wyczyszczenie zmiennych środowiskowych profilowania na końcu sesji profilowania.
Dołączanie programu Profiler
Aby dołączyć Profiler do działającej aplikacji .NET Framework
Otwórz okno wiersza polecenia.
Inicjowanie zmiennych środowiskowych profilowania.Typ:
VSPerfClrEnv /sampleon [/samplelineoff]
- Opcja /samplelineoff wyłącza zbieranie danych o numerze linii w kodzie źródłowym.
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żna użyć dowolnej z następujących opcji z opcją /start:sample.
Opcja
Opis
/user:[Domain]\]UserName
Określa opcjonalną nazwę domeny i użytkownika konta, które jest właścicielem profilowanego procesu.Ta opcja jest wymagana tylko wtedy, gdy uruchomiono profilowaną aplikację jako użytkownik inny niż zalogowany użytkownik.
Włącza profilowanie procesów w innych sesjach logowania./CS może być określona jako skrót dla /crosssession.Ta opcja jest wymagana, jeśli aplikacja jest uruchomiona w innej sesji.
/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.
/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).
W razie potrzeby można uruchomić aplikację docelową w typowy sposób.
Dołącz profiler do aplikacji docelowej.Typ:
VSPerfCmd /attach:{PID|ProcessName} [Sample Event] [**/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 uruchomieniowego języka wspólnego (CLR) do profilowania, gdy więcej niż jedna wersja środowiska uruchomieniowego jest załadowana w aplikacji.Opcjonalnie.
Domyślnie dane dotyczące wydajności są próbkowane co 10 000 000 niewstrzymanych cykli zegara procesora.Jest to około raz na 10 sekund dla procesora 1GH.Możesz określić jedną z następujących opcji, aby zmienić interwał cyklu zegara lub określić inne zdarzenie próbkowania./targetclr**:**Version określa wersję CLR do profilowania, gdy więcej niż jedna wersja środowiska uruchomieniowego jest załadowana w aplikacji.Opcjonalnie.
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ł, które są określone w Config.
Kontrolowanie zbierania danych
Gdy jest uruchomiona aplikacja docelowa, można kontrolować zbieranie danych przez uruchamianie i zatrzymywanie zapisywania danych do pliku z danymi profilera 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
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.
/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ć profiler i zamknąć plik danych profilowania.Polecenie VSPerfClrEnv /off czyści zmienne środowiskowe profilowania.
Aby zakończyć sesję profilowania
Wykonaj jeden z następujących kroków, aby odłączyć program Profiler od aplikacji docelowej:
Typ VSPerfCmd /detach
-lub-
Zamknij aplikację docelową.
Zamknij program Profiler.Typ:
VSPerfCmd /shutdown
(Opcjonalne) Wyczyść zmienne środowiskowe profilowania.Typ:
VSPerfClrEnv /off
Zobacz też
Koncepcje
Profilowanie wiersza polecenia aplikacji autonomicznych