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


Практическое руководство. Присоединение профилировщика к автономному приложению .NET Framework для сбора данных о параллелизме при помощи командной строки

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

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

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

Пока профилировщик присоединен к приложению, сбор данных можно приостанавливать и возобновлять.Чтобы завершить сеанс профилирования, необходимо отсоединить профилировщик от приложения и явным образом завершить его работу.

Присоединение профилировщика

Присоединение профилировщика к выполняющемуся приложению .NET Framework

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

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

    VSPerfCmd/start:concurrency **/output:**OutputFile[Options]

    Параметр /output**:**OutputFile является обязательным при использовании параметра /start.Параметр OutputFile задает имя и расположение файла с данными профилирования (VSP-файла).

    С параметром /start:concurrency можно использовать любые из следующих параметров.

    Параметр

    Описание

    /wincounter:WinCounterPath

    Задает счетчик производительности Windows, данные которого следует собирать в процессе профилирования.

    /automark:Interval

    Используйте только с /wincounter.Задает интервал времени (в миллисекундах) между событиями сбора данных счетчика производительности Windows.Значение по умолчанию — 500 мс.

    /events:Config

    Задает событие трассировки событий Windows, данные которого следует собирать в процессе профилирования.События трассировки событий Windows собираются в отдельный ETL-файл.

  3. Запустите целевое приложение обычным образом.

  4. Присоедините профилировщик к целевому приложению.Type:

    VSPerfCmd /attach:PID [/lineoff] [**/targetclr:**Version]

    • PID определяет идентификатор процесса целевого приложения.Диспетчер задач Windows позволяет просмотреть идентификаторы всех запущенных процессов.

    • /lineoff отключает сбор данных о номерах строк.

    • Параметр /targetclr**:**Version задает версию среды CLR для профилирования, если в приложении загружено несколько версий среды выполнения.Необязательный параметр.

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

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

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

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

    Параметр

    Описание

    /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

Журнал изменений

Дата

Журнал

Причина

Декабрь 2011

Удаленный шаг VSPerfClrEnv /sampleon.

Исправление ошибки содержимого.