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


Руководство. Средство vcperf и Windows Performance Analyzer

Средства сборки C++ Аналитика доступны в Visual Studio 2019 и более поздних версиях. Чтобы просмотреть документацию для этой версии, задайте для этой статьи элемент управления селектором версий Visual Studio 2019 или более поздней версии. Он находится в верхней части оглавления на этой странице.

В этом руководстве вы узнаете, как использовать vcperf.exe для сбора трассировки сборки C++. Вы также узнаете, как просматривать эту трассировку в Windows Performance Analyzer.

Шаг 1. Установка и настройка Windows Анализатор производительности

Windows Performance Analyzer (WPA) — это средство просмотра трассировки из Комплекта средств для развертывания и оценки Windows (ADK). Это отдельная служебная программа. Она не входит в число компонентов, которые можно установить с помощью установщика Visual Studio.

Версия WPA, поддерживающая Аналитика сборки C++, доступна только в версиях Windows ADK с номером 10.1.19041.0 или более поздней версии.

Скачивание и установка WPA

ПРИМЕЧАНИЕ. Для установки Анализатор производительности Windows Анализатор производительности требуется Windows 8 или более поздней версии.

  1. Перейдите на страницу для скачивания Windows ADK.

  2. Скачайте и установите последнюю версию Windows ADK.

  3. При появлении запроса на выбор компонентов, которые нужно установить, выберите Windows Performance Toolkit. При желании можете выбрать другие компоненты, но они не нужны для установки WPA.

    The Windows Performance Analyzer installer's feature selection screen.

Настройка WPA

Для просмотра трассировок C++ Build Insights в WPA требуется специальная надстройка. Чтобы установить ее, выполните следующие действия:

  1. Получите надстройку, скачав один из приведенных ниже компонентов. Достаточно одного из них. Выберите тот, который вам удобнее.

  2. Скопируйте файл perf_msvcbuildinsights.dll и вставьте в каталог установки WPA.

    1. В Visual Studio 2019 версии 16.6 и выше этот файл находится здесь: C:\Program Files (x86)\Microsoft Visual Studio\{Year}\{Edition}\VC\Tools\MSVC\{Version}\bin\Host{Architecture}\{Architecture}.
    2. В пакете NuGet для C++ Build Insights этот файл расположен здесь: wpa\{Architecture}.
    3. В приведенных выше путях замените переменные, окруженные фигурными скобками следующим образом:
      1. {Year} — это ваш год продукта Visual Studio, например 2019 или 2022.
      2. {Edition} — это выпуск Visual Studio, например Community, Professional или Enterprise.
      3. {Version} — это версия MSVC. Выберите самую последнюю из доступных.
      4. {Architecture}: выберите x64, если вы используете 64-разрядную версию Windows. В противном случае выберите x86.
    4. Как правило, каталог установки WPA размещен здесь: C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit.
  3. В каталоге установки WPA откройте файл perfcore.ini и добавьте запись для perf_msvcbuildinsights.dll.

Шаг 2. Трассировка сборки с помощью vcperf.exe

Чтобы просмотреть данные C++ Build Insights, сначала соберите их в файл трассировки, выполнив следующие действия:

  1. Откройте командную строку 64 или x86 Native Tools для VS в режиме администратора. (Щелкните правой кнопкой мыши пункт меню "Пуск" и выберите Еще>Запуск от имени администратора.)

    1. Выберите x64, если вы используете 64-разрядную версию Windows. В противном случае выберите x86.
  2. В окне командной строки введите следующую команду:

    vcperf.exe /start SessionName

    Вместо SessionName выберите понятное имя сеанса.

  3. Выполните сборку проекта обычным образом. Для сборки не обязательно использовать то же окно командной строки.

  4. В окне командной строки введите следующую команду:

    vcperf.exe /stop SessionNametraceFile.etl

    Используйте то же имя сеанса, которое выбрали для SessionName. Выберите подходящее имя для файла трассировки traceFile.etl.

Вот как выглядит типичная последовательность команд vcperf.exe в окне командной строки разработчика:

Screenshot of a command window showing vcperf.exe commands and results.

Важные примечания о vcperf.exe

  • Для запуска и остановки трассировки vcperf.exe требуются права администратора. Используйте окно командной строки разработчика, которое открывается с помощью команды Запуск от имени администратора.

  • На компьютере может выполняться только один сеанс трассировки.

  • Обязательно запомните имя сеанса, использованное вами для запуска трассировки. Остановить сеанс, имя которого неизвестно, может быть сложно.

  • Так же, как cl.exe и link.exe, служебная программа командной строки vcperf.exe включена в комплект установки MSVC. Для получения этого компонента никаких дополнительных действий не требуется.

  • vcperf.exe собирает сведения о всех инструментах MSVC, запущенных в системе. Поэтому вам не обязательно запускать процесс сборки с помощью той же командной строки, которая использовалась для сбора трассировки. Сборку проекта можно выполнить из другой командной строки или даже в Visual Studio.

vcperf.exe — программа с открытым кодом

Если вы хотите выполнить сборку собственной версии vcperf.exe и использовать ее, клонируйте эту программу из репозитория GitHub vcperf.

Шаг 3. Просмотр трассировки в Windows Анализатор производительности

Запустите WPA и откройте журнал только что собранной трассировки. WPA должен распознать ее как трассировку C++ Build Insights. На панели обозревателя графов слева должны отображаться следующие представления:

  • Обозреватель сборок
  • Files
  • Функции
  • Создание экземпляров шаблонов

Если эти представления не отображаются, убедитесь, что WPA настроен правильно, как описано на шаге 1. Вы можете просмотреть данные сборок, перетащив представления в пустое окно анализа справа, как показано ниже:

View of a C++ Build Insights trace in Windows Performance Analyzer.

Другие представления доступны на панели обозревателя графов. Перетащите их в окно "Анализ", чтобы подробнее изучить информацию, которую они содержат. Полезным является представление CPU (Sampled) (ЦП, выборка), в котором показана загрузка ЦП во время сборки.

Дополнительные сведения

Руководство по основам Анализатор производительности Windows
Сведения об распространенных операциях WPA, которые могут помочь при анализе трассировок сборки.

Справочник: команды vcperf
В справочнике по командам vcperf.exe перечислены все доступные параметры команд.

Справочник. Представления Windows Анализатор производительности
В этой статье приведены подробные сведения о представлениях C++ Build Insights в WPA.

Windows Performance Analyzer
Официальный сайт документации по WPA.