Практическое руководство. Запуск автономного приложения с профилировщиком и сбор статистики приложения с помощью командной строки
В этом разделе описан порядок использования программ командной строки средств профилирования Visual Studio для запуска автономного (клиентского) приложения и сбора статистики производительности с помощью метода выборки.
![]() |
---|
Функции усиленной безопасности в Windows 8 и Windows Server 2012 требуют значительных изменений в том, как профилировщик Visual Studio выполняет сбор данных на этих платформах.Приложения Магазина Windows также требуют новых методов коллекции.Дополнительные сведения см. в разделе Профилирование приложений для Windows 8 и Windows Server 2012. Добавление данных об уровневом взаимодействии в ходе выполнения требует определенных процедур с средствами профилирования командной строки.См. раздел Добавление данных взаимодействия уровней из командной строки. |
Для использования программ командной строки профилировщика необходимо добавить путь в переменную среды PATH окна командной строки или указать этот путь при вызове команды.Можно запустить средства профилирования на компьютере, на котором Visual Studio задано в командном окне Visual Studio.
- При запуске средства профилирования на компьютере, на котором Visual Studio задано командное окно Visual Studio устанавливает правильные пути.В меню Сервис выберите команду ПРОТИВ командной строки.
![]() |
---|
Программы командной строки средств профилирования расположены в подкаталоге \Team Tools\Performance Tools каталога установки Visual Studio.На 64-разрядных компьютерах доступны 64-разрядные и 32-разрядные версии средств.Для использования программ командной строки профилировщика необходимо добавить путь в переменную среды PATH окна командной строки или указать этот путь при вызове команды.Дополнительные сведения см. в разделе Указание пути к программам командной строки средств профилирования. |
Запуск приложения с профилировщиком
Чтобы запустить целевое приложение с помощью профилировщика, воспользуйтесь параметрами /start и /launch для инициализации профилировщика и запуска приложения.Команды /start и /launch с соответствующими параметрами можно указать в одной командной строке.
Для приостановки сбора данных при запуске целевого приложения можно также добавить параметр /globaloff.Далее для начала сбора данных используется параметр /globalon.
Запуск приложения с использованием профилировщика
Откройте окно командной строки.
Запустите профилировщик.Type:
**VSPerfCmd /start:sample /output:**OutputFile [Options]
Параметр /start:sample обеспечивает инициализацию профилировщика.
Параметр /output**:**OutputFile является обязательным при использовании параметра /start.Параметр OutputFile задает имя и расположение файла с данными профилирования (VSP-файла).
С параметром /start:sample можно использовать любые из следующих параметров.
Параметр
Описание
/wincounter:WinCounterPath
Задает счетчик производительности Windows, данные которого следует собирать в процессе профилирования.
/automark:Interval
Используйте только с /wincounter.Задает интервал времени (в миллисекундах) между событиями сбора данных счетчика производительности Windows.Значение по умолчанию — 500 мс.
/events:Config
Задает событие трассировки событий Windows, данные которого следует собирать в процессе профилирования.События трассировки событий Windows собираются в отдельный ETL-файл.
Запустите целевое приложение.Введите: **VSPerfCmd /launch:**appName [Options] [Sample Event]
С параметром /launch можно использовать один или несколько следующих параметров.
Параметр
Описание
/args:Arguments
Задает строку, содержащую аргументы командной строки, которые передаются целевому приложению.
Запускает целевое приложение командной строки в отдельном окне.
По умолчанию данные о производительности собираются каждые 10 000 000 циклов тактовой частоты процессора без остановок.Для процессора с частотой 1 ГГц это приблизительно один раз через каждые 10 секунд.Чтобы изменить длительность цикла тактовой частоты или задать другое событие выборки, можно воспользоваться одним из следующих параметров.
Пример события
Описание
/timer:Interval
Изменяет интервал выборки на число циклов тактовой частоты без остановок, задаваемое параметром Interval.
/pf[:Interval]
Изменяет событие выборки на ошибки страниц.Если указано значение Interval, задает количество ошибок страниц между выборками.По умолчанию используется значение 10.
/sys[:Interval]
Изменяет событие выборки на системные вызовы ядра операционной системы из процесса (syscall).Если указано значение Interval, задает количество вызовов между выборками.По умолчанию используется значение 10.
/counter:Config
Изменяет событие выборки, интервал для счетчика производительности процессора и значение интервала, задаваемые параметром Config.
Управление сбором данных
Когда выполняется целевое приложение, можно управлять сбором данных путем запуска и остановки записи данных в файл данных профилировщика с помощью параметров VSPerfCmd.exe.Управление сбором данных позволяет собирать данные на различных этапах выполнения программы, например, при запуске или завершении работы приложения.
Запуск и остановка сбора данных
Следующие пары параметров используются для запуска и остановки сбора данных.Задайте каждый параметр в отдельной строке командной строки.Запуск и приостановка сбора данных могут выполняться неоднократно.
Параметр
Описание
Запускает (/globalon) или останавливает (/globaloff) сбор данных для всех процессов.
/processon:PID/processoff:PID
Запускает (/processon) или останавливает (/processoff) сбор данных для процесса с указанным идентификатором процесса (PID).
/attach запускает сбор данных для процесса, определяемого идентификатором PID или именем процесса (ProcName)./detach останавливает сбор данных для указанного процесса или, если он не задан, для всех процессов.
Для добавления метки профилирования в файл данных можно также использовать параметр VSPerfCmd.exe/mark.Команда /mark добавляет идентификатор, отметку времени и необязательную определенную пользователем текстовую строку.Метки могут использоваться для фильтрации данных в отчетах профилировщика и представлениях данных.
Завершение сеанса профилирования
Чтобы завершить сеанс профилирования, нужно отсоединить профилировщик от всех профилируемых процессов и явным образом завершить его работу.Чтобы отсоединить профилировщик от приложения, для которого выполнялось профилирование методом выборки, закройте приложение или выполните команду VSPerfCmd /detach.Затем, для завершения работы профилировщика и закрытия файла данных профилирования используется параметр VSPerfCmd /shutdown.Команда VSPerfClrEnv /off удаляет значения переменных среды, используемые для профилирования.
Завершение сеанса профилирования
Чтобы отсоединить профилировщик от целевого приложения, выполните одно из следующих действий.
Закройте целевое приложение.
-или-
Введите VSPerfCmd /detach.
Завершите работу профилировщика.Type:
VSPerfCmd/shutdown
См. также
Основные понятия
Профилирование автономных приложений из командной строки