Поделиться через


Практическое руководство. Запуск автономного приложения с профилировщиком и сбор статистики приложения с помощью командной строки

В этом разделе описан порядок использования программ командной строки средств профилирования Visual Studio для запуска автономного (клиентского) приложения и сбора статистики производительности с помощью метода выборки.

ПримечаниеПримечание

Функции усиленной безопасности в Windows 8 и Windows Server 2012 требуют значительных изменений в том, как профилировщик Visual Studio выполняет сбор данных на этих платформах.Приложения Магазина Windows также требуют новых методов коллекции.Дополнительные сведения см. в разделе Профилирование приложений для Windows 8 и Windows Server 2012.

Добавление данных об уровневом взаимодействии в ходе выполнения требует определенных процедур с средствами профилирования командной строки.См. раздел Добавление данных взаимодействия уровней из командной строки.

Для использования программ командной строки профилировщика необходимо добавить путь в переменную среды PATH окна командной строки или указать этот путь при вызове команды.Можно запустить средства профилирования на компьютере, на котором Visual Studio задано в командном окне Visual Studio.

  1. При запуске средства профилирования на компьютере, на котором Visual Studio задано командное окно Visual Studio устанавливает правильные пути.В меню Сервис выберите команду ПРОТИВ командной строки.
ПримечаниеПримечание

Программы командной строки средств профилирования расположены в подкаталоге \Team Tools\Performance Tools каталога установки Visual Studio.На 64-разрядных компьютерах доступны 64-разрядные и 32-разрядные версии средств.Для использования программ командной строки профилировщика необходимо добавить путь в переменную среды PATH окна командной строки или указать этот путь при вызове команды.Дополнительные сведения см. в разделе Указание пути к программам командной строки средств профилирования.

Запуск приложения с профилировщиком

Чтобы запустить целевое приложение с помощью профилировщика, воспользуйтесь параметрами /start и /launch для инициализации профилировщика и запуска приложения.Команды /start и /launch с соответствующими параметрами можно указать в одной командной строке.

Для приостановки сбора данных при запуске целевого приложения можно также добавить параметр /globaloff.Далее для начала сбора данных используется параметр /globalon.

Запуск приложения с использованием профилировщика

  1. Откройте окно командной строки.

  2. Запустите профилировщик.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-файл.

  3. Запустите целевое приложение.Введите: **VSPerfCmd /launch:**appName [Options] [Sample Event]

    С параметром /launch можно использовать один или несколько следующих параметров.

    Параметр

    Описание

    /args:Arguments

    Задает строку, содержащую аргументы командной строки, которые передаются целевому приложению.

    /console

    Запускает целевое приложение командной строки в отдельном окне.

    По умолчанию данные о производительности собираются каждые 10 000 000 циклов тактовой частоты процессора без остановок.Для процессора с частотой 1 ГГц это приблизительно один раз через каждые 10 секунд.Чтобы изменить длительность цикла тактовой частоты или задать другое событие выборки, можно воспользоваться одним из следующих параметров.

    Пример события

    Описание

    /timer:Interval

    Изменяет интервал выборки на число циклов тактовой частоты без остановок, задаваемое параметром Interval.

    /pf[:Interval]

    Изменяет событие выборки на ошибки страниц.Если указано значение Interval, задает количество ошибок страниц между выборками.По умолчанию используется значение 10.

    /sys[:Interval]

    Изменяет событие выборки на системные вызовы ядра операционной системы из процесса (syscall).Если указано значение Interval, задает количество вызовов между выборками.По умолчанию используется значение 10.

    /counter:Config

    Изменяет событие выборки, интервал для счетчика производительности процессора и значение интервала, задаваемые параметром Config.

Управление сбором данных

Когда выполняется целевое приложение, можно управлять сбором данных путем запуска и остановки записи данных в файл данных профилировщика с помощью параметров VSPerfCmd.exe.Управление сбором данных позволяет собирать данные на различных этапах выполнения программы, например, при запуске или завершении работы приложения.

Запуск и остановка сбора данных

  • Следующие пары параметров используются для запуска и остановки сбора данных.Задайте каждый параметр в отдельной строке командной строки.Запуск и приостановка сбора данных могут выполняться неоднократно.

    Параметр

    Описание

    /globalon /globaloff

    Запускает (/globalon) или останавливает (/globaloff) сбор данных для всех процессов.

    /processon:PID/processoff:PID

    Запускает (/processon) или останавливает (/processoff) сбор данных для процесса с указанным идентификатором процесса (PID).

    /attach:{PID|ProcName} /detach[:{PID|ProcName}]

    /attach запускает сбор данных для процесса, определяемого идентификатором PID или именем процесса (ProcName)./detach останавливает сбор данных для указанного процесса или, если он не задан, для всех процессов.

  • Для добавления метки профилирования в файл данных можно также использовать параметр VSPerfCmd.exe/mark.Команда /mark добавляет идентификатор, отметку времени и необязательную определенную пользователем текстовую строку.Метки могут использоваться для фильтрации данных в отчетах профилировщика и представлениях данных.

Завершение сеанса профилирования

Чтобы завершить сеанс профилирования, нужно отсоединить профилировщик от всех профилируемых процессов и явным образом завершить его работу.Чтобы отсоединить профилировщик от приложения, для которого выполнялось профилирование методом выборки, закройте приложение или выполните команду VSPerfCmd /detach.Затем, для завершения работы профилировщика и закрытия файла данных профилирования используется параметр VSPerfCmd /shutdown.Команда VSPerfClrEnv /off удаляет значения переменных среды, используемые для профилирования.

Завершение сеанса профилирования

  1. Чтобы отсоединить профилировщик от целевого приложения, выполните одно из следующих действий.

    • Закройте целевое приложение.

      -или-

    • Введите VSPerfCmd /detach.

  2. Завершите работу профилировщика.Type:

    VSPerfCmd/shutdown

См. также

Основные понятия

Профилирование автономных приложений из командной строки

Другие ресурсы

Представления данных метода выборки профилировщика