Практическое руководство. Запуск автономного приложения .NET Framework с профилировщиком для сбора данных параллелизма при помощи командной строки
В этом разделе описан порядок использования программ командной строки средств профилирования Visual Studio для запуска автономного (клиентского) приложения .NET Framework и сбора данных параллелизма потока и процесса.
![]() |
---|
Программы командной строки средств профилирования расположены в подкаталоге \Team Tools\Performance Tools каталога установки Visual Studio.На 64-разрядных компьютерах доступны 64-разрядные и 32-разрядные версии программ.Для использования программ командной строки профилировщика необходимо добавить путь к этим программам в переменную среды PATH окна командной строки или указать этот путь при вызове команды.Дополнительные сведения см. в разделе Указание пути к программам командной строки средств профилирования. |
Пока профилировщик присоединен к приложению, сбор данных можно приостанавливать и возобновлять.Чтобы завершить сеанс профилирования, необходимо отсоединить профилировщик от приложения и явным образом завершить его работу.
Запуск приложения с профилировщиком
Чтобы запустить целевое приложение .NET Framework с профилировщиком, для задания переменных профилирования .NET Framework используется программа VSPerfClrEnv.exe.Затем для инициализации профилировщика и запуска приложения используются параметры VSPerfCmd /start и /launch.Команды /start и /launch с соответствующими параметрами можно указать в одной командной строке.Для приостановки сбора данных при запуске целевого приложения можно также добавить параметр /globaloff.Для запуска сбора данных используется отдельная команда /globalon.
Запуск приложения с профилировщиком
Откройте окно командной строки.
Запустите профилировщик.Type:
VSPerfCmd/start:concurrency[,{ResourceOnly|ThreadOnly}] **/output:**OutputFile [Options]
Параметр /start обеспечивает инициализацию профилировщика.
/start:concurrency
Включает сбор данных как о конфликтах ресурсов, так и о выполнении потоков.
/start:concurrency,resourceonly
Включает сбор данных только о конфликтах ресурсов.
/start:concurrency,threadonly
Включает сбор данных только о выполнении потоков.
Параметр /output**:**OutputFile является обязательным при использовании параметра /start.Параметр OutputFile задает имя и расположение файла с данными профилирования (VSP-файла).
С параметром /start:concurrency можно использовать любые из следующих параметров.
Параметр
Описание
/user:[domain\]username
Задает необязательные домен и имя пользователя учетной записи, которой требуется предоставить доступ к профилировщику.
Включает профилирование процессов в других сеансах входа в систему.
/wincounter:WinCounterPath
Задает счетчик производительности Windows, данные которого следует собирать в процессе профилирования.
/automark:Interval
Используйте только с /wincounter.Задает интервал времени (в миллисекундах) между событиями сбора данных счетчика производительности Windows.Значение по умолчанию — 500 мс.
/events:Config
Задает событие трассировки событий Windows, данные которого следует собирать в процессе профилирования.События трассировки событий Windows собираются в отдельный ETL-файл.
Запустите целевое приложение.Type:
VSPerfCmd /launch**:**AppName [Options] [Sample Event]
С параметром /launch можно использовать любые из следующих параметров.
Параметр
Описание
/args:Arguments
Задает строку, содержащую аргументы командной строки, которые передаются целевому приложению.
Запускает целевое приложение командной строки в отдельном окне.
/targetclr:Version
Задает версию среды CLR для профилирования, если в приложении загружено несколько версий среды выполнения.
Управление сбором данных
Пока выполняется целевое приложение, можно управлять сбором данных путем запуска и остановки записи данных в файл с помощью параметров VSPerfCmd.exe.Управление сбором данных позволяет собирать данные на различных этапах выполнения программы, например при запуске или завершении работы приложения.
Запуск и остановка сбора данных
Пары параметров VSPerfCmd, представленные в следующей таблице, используются для запуска и остановки сбора данных.Задайте каждый параметр в отдельной строке командной строки.Запуск и приостановка сбора данных могут выполняться неоднократно.
Параметр
Описание
Запускает (/globalon) или останавливает (/globaloff) сбор данных для всех процессов.
/processon:PID/processoff:PID
Запускает (/processon) или останавливает (/processoff) сбор данных для процесса с указанным идентификатором процесса (PID).
/attach запускает сбор данных для процесса, определяемого идентификатором (PID) или именем процесса (ProcName)./detach останавливает сбор данных для указанного процесса или, если он не задан, для всех процессов.
Завершение сеанса профилирования
При завершении сеанса профилирования профилировщик не должен собирать данные.Чтобы остановить процесс сбора данных параллелизма можно закрыть профилируемое приложение или воспользоваться параметром VSPerfCmd /detach.Затем для завершения работы профилировщика и закрытия файла с данными профилирования используется параметр VSPerfCmd /shutdown.Команда VSPerfClrEnv /off удаляет значения переменных среды, используемые для профилирования.
Завершение сеанса профилирования
Для отсоединения профилировщика от целевого приложения выполните одно из следующих действий.
Закройте целевое приложение.
-или-
Введите VSPerfCmd /detach.
Завершите работу профилировщика.
VSPerfCmd /shutdown
См. также
Основные понятия
Сбор данных параллелизма для автономных приложений с помощью средств командной строки профилировщика
Журнал изменений
Дата |
Журнал |
Причина |
---|---|---|
Декабрь 2011 |
Удаленный шаг VSPerfClrEnv /sampleon. |
Исправление ошибки содержимого. |