Jak: dołączanie Profiler aplikacji macierzystej autonomiczne i zbieranie danych współbieżności przy użyciu wiersza polecenia
W temacie opisano, jak używać narzędzi do profilowania z wiersza polecenia Visual Studio, aby dołączyć profiler do działającej autonomicznej aplikacji macierzystej (C/C++) i zebrać dane o rywalizacji wątków.
[!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 polecenia, 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ślając ścieżkę do narzędzia wiersza polecenia narzędzia profilowania.
Gdy profiler jest dołączony do aplikacji, można wstrzymywać i wznawiać zbieranie danych.Aby zakończyć sesję profilowania, profiler nie może już być dołączony do aplikacji i musi być jawnie zamknięty.
Dołączanie profilera do działającej aplikacji macierzystej
Aby dołączyć działającej aplikacji macierzystej
W wierszu polecenia wpisz następujące polecenie:
VSPerfCmd/start:concurrency
Można używać dowolnych opcji w poniższej tabeli z opcją /start:concurrency.
Opcja
Opis
/user:[Domain\]Username
Określa opcjonalną domenę i nazwę użytkownika konta, aby uzyskać dostęp do programu profilującego.
Włącza profilowanie procesów w innych sesjach logowania.
/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 liczników wydajności systemu Windows.Wartość domyślna to 500.
/events:Config
Określa zdarzenie Śledzenie zdarzeń systemu Windows (ETW), które ma być zbierane podczas profilowania.Zdarzenia ETW są gromadzone w oddzielnym pliku (.etl).
Dołącz profiler do aplikacji docelowej, wpisując następujące polecenie:
VSPerfCmd /attach:{PID|ProcName}
PID określa identyfikator procesu aplikacji docelowej.Identyfikatory wszystkich uruchomionych procesów można przeglądać w Menedżerze zadań systemu Windows.
Kontrolowanie zbierania danych
Gdy uruchomiona jest aplikacja docelowa można kontrolować zbieranie danych przez uruchamianie i zatrzymywanie zapisu danych do pliku za pomocą opcji VSPerfCmd.exe.Przez kontrolowanie zbierania danych, można zebrać dane dla określonej części wykonywania programu, takiej jak uruchamianie lub zamykanie aplikacji.
Aby uruchomić i zatrzymać zbieranie danych
Pary opcji w poniższej tabeli, uruchamiają i zatrzymują zbieranie danych.Określ każdą opcję w oddzielnym wierszu polecenia.Zbieranie danych można włączać i wyłączać wiele razy.
Opcja
Opis
Uruchamia (/globalon) lub zatrzymuje zbieranie danych (/globaloff) dla wszystkich procesów.
/processon:PID/processoff:PID
Uruchamia (/processon) lub zatrzymuje (/processoff) zbieranie danych dla procesu, który określa identyfikator procesu (PID).
/attach uruchamia zbieranie danych dla procesu, który określa identyfikator procesu (PID) lub nazwa procesu (ProcName)./detach zatrzymuje zbieranie danych dla określonego procesu lub dla wszystkich procesów, jeśli żaden proces nie jest określony.
Kończenie sesji profilowania
Aby zakończyć sesję profilowania, program profilujący nie może być w trakcie zbierania danych.Można zatrzymać zbieranie danych z aplikacji profilowanej metodą pobierania próbek przez zamknięcie aplikacji lub wywołując opcję VSPerfCmd /detach.Następnie należy wywołać opcję VSPerfCmd /shutdown aby wyłączyć program profilujący i zamknąć plik danych profilowania.
Aby zakończyć sesję profilowania
Odłącz profiler od aplikacji docelowej, zamykając go lub wpisując następujące polecenie:
VSPerfCmd /detach
Zamknij profiler, wpisując następujące polecenie:
VSPerfCmd /shutdown