Инструментирование приложений .NET в Visual Studio (C#, C++, Visual Basic, F#)

В выпуске Visual Studio 2022 версии 17.5 можно использовать новое средство динамического инструментирования. Это средство показывает точное количество вызовов функций и быстрее, чем предыдущая версия средства инструментирования. Это средство поддерживает инструментирование .NET Core без необходимости использования PDF-файлов. Начиная с Visual Studio 2022 версии 17.6 (предварительная версия 2), средство также поддерживает C/C++.

Это средство похоже на средство использования ЦП, за исключением того, что оно основано на времени настенных часов вместо использования ЦП. Дополнительные сведения об обучении эффективному использованию инструмента инструментирования см. в статье "Обзор инструментирования" и "Улучшение производительности Visual Studio" с помощью нового инструмента инструментирования.

Инструментирование приложения

  1. Выберите ALT+F2 (или Профилировщик производительности отладки > ), чтобы открыть профилировщик производительности в Visual Studio.

  2. Выберите поле проверка инструментирования.

    Снимок экрана: выбранное средство инструментирования.

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

    Примечание.

    Если инструмент недоступен для выбора, снимите флажки для всех остальных инструментов, так как некоторые из них должны работать в одиночку. Дополнительные сведения о выполнении инструментов см. в статье "Использование нескольких средств профилировщика одновременно".

    Если инструмент все равно недоступен, проверьте соответствие проекта предварительным требованиям. Убедитесь, что проект находится в режиме выпуска для записи данных с максимальной точностью.

  3. Нажмите кнопку Пуск, чтобы запустить средство.

  4. Выберите элементы в программе для инструментирования.

    Снимок экрана: выбор элементов для инструментирования диалогового окна.

  5. Нажмите ОК.

  6. После его запуска просмотрите сценарий, который вы хотите профилировать в приложении. Затем выберите Остановить сбор или закройте приложение, чтобы просмотреть данные.

Анализ отчета инструментирования

Данные профилирования отображаются в Visual Studio.

Снимок экрана: данные инструментирования .NET.

В представлении данных инструментирования отображается список функций, упорядоченных по длительному выполнению, с самой длинной функцией в верхней части в разделе "Основные функции". В разделе "Горячий путь " показан стек вызовов для функций, которые используются чаще всего. Эти списки помогут переходить к функциям, где наблюдаются проблемы с производительностью.

Щелкните функцию, которую вы хотите, и вы увидите более подробное представление.

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