Практическое руководство. Присоединение профилировщика к собственному автономному приложению и сбор данных параллелизма при помощи командной строки
В этом разделе описан порядок использования программ командной строки средств профилирования Visual Studio для присоединения профилировщика к собственному (C/C++) выполняющемуся автономному приложению и сбора данных параллелизма потока.
![]() |
---|
Программы командной строки средств профилирования расположены в подкаталоге \Team Tools\Performance Tools каталога установки Visual Studio.На 64-разрядных компьютерах доступны 64-разрядные и 32-разрядные версии средств.Для использования программ командной строки профилировщика необходимо добавить путь к этим программам в переменную среды PATH окна Командная строка или указать этот путь при вызове команды.Дополнительные сведения см. в разделе Указание пути к программам командной строки средств профилирования. |
Пока профилировщик присоединен к приложению, сбор данных можно приостанавливать и возобновлять.Чтобы завершить сеанс профилирования, необходимо отсоединить профилировщик от приложения и явным образом завершить его работу.
Присоединение профилировщика к собственному выполняющемуся приложению
Присоединение профилировщика к собственному выполняющемуся приложению
В командной строке введите следующую команду:
VSPerfCmd/start:concurrency
С параметром /start:concurrencyможно использовать любые из параметров, представленных в следующей таблице.
Параметр
Описание
/user:[Domain\]Username
Задает необязательные домен и имя пользователя учетной записи, которой требуется предоставить доступ к профилировщику.
Включает профилирование процессов в других сеансах входа в систему.
/wincounter:WinCounterPath
Задает счетчик производительности Windows, данные которого следует собирать в процессе профилирования.
/automark:Interval
Используйте только с /wincounter.Задает интервал времени (в миллисекундах) между событиями сбора данных счетчика производительности Windows.Значение по умолчанию — 500.
/events:Config
Задает событие трассировки событий Windows, данные которого следует собирать в процессе профилирования.События трассировки событий Windows собираются в отдельный ETL-файл.
Чтобы присоединить профилировщик к целевому приложению, введите в командной строке следующую команду:
VSPerfCmd /attach:{PID|ProcName}
PID определяет идентификатор процесса целевого приложения.Диспетчер задач Windows позволяет просмотреть идентификаторы всех запущенных процессов.
Управление сбором данных
Пока выполняется целевое приложение, можно управлять сбором данных путем запуска и остановки записи данных в файл с помощью параметров VSPerfCmd.exe.Управление сбором данных позволяет собирать данные на различных этапах выполнения программы, например, при запуске или завершении работы приложения.
Запуск и остановка сбора данных
Пары параметров в следующей таблице используются для запуска и остановки сбора данных.Задайте каждый параметр в отдельной строке командной строки.Запуск и приостановка сбора данных могут выполняться неоднократно.
Параметр
Описание
Запускает (/globalon) или останавливает (/globaloff) сбор данных для всех процессов.
/processon:PID/processoff:PID
Запускает (/processon) или останавливает (/processoff) сбор данных для процесса с указанным идентификатором процесса (PID).
/attach запускает сбор данных для процесса, определяемого по идентификатору (PID) или имени процесса (ProcName)./detach останавливает сбор данных для указанного процесса или, если он не задан, для всех процессов.
Завершение сеанса профилирования
При завершении сеанса профилирования профилировщик не должен собирать данные.Чтобы остановить процесс сбора данных от приложения, для которого выполняется профилирование методом выборки, можно закрыть приложение или воспользоваться параметром VSPerfCmd /detach.Затем для завершения работы профилировщика и закрытия файла с данными профилирования используется параметр VSPerfCmd /shutdown.
Завершение сеанса профилирования
Отсоедините профилировщик от целевого приложения путем закрытия приложения или ввода в командную строку следующей команды:
VSPerfCmd /detach
Чтобы завершить работу профилировщика, введите в командной строке следующую команду:
VSPerfCmd /shutdown