Выполнение средств профилирования с отладчиком и без него | Документация Майкрософт (C#, Visual Basic, C++, F#)

Visual Studio предлагает различные средства для измерения производительности и профилирования. Некоторые средства, такие как "Загрузка ЦП" и "Использование памяти", можно запустить с отладчиком или без него, а также с конфигурациями сборок отладки или выпуска. Средства, отображаемые в окне Средства диагностики, запускаются только во время сеанса отладки. Средства, отображаемые в области Профилировщик производительности запускаются без отладчика, а анализ результатов следует выполнять после того, как вы решили приостановить приложение и выполнить сбор данных (для заключительного анализа).

Примечание.

Вы можете использовать средства оценки производительности, не относящиеся к отладчику, в Windows 7 и более поздних версий. Для выполнения интегрированных в отладчик средств профилирования требуется Windows 8 или более поздней версии.

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

Чтобы определить, какие средства и результаты для этого нужно использовать, примите во внимание следующие параметры:

  • Средства, интегрированные в отладчик, и средства, не относящиеся к нему

    • Внешние проблемы производительности, например проблемы файлового ввода-вывода или скорости реагирования сети, не слишком различаются в средствах, связанных и не связанных с отладчиком.
    • Отладчик сам изменяет время производительности по мере того, как он выполняет необходимые операции отладки (например, перехват исключений и события загрузки модулей).
    • Показатели производительности сборки выпуска в Профилировщике производительности являются наиболее точными и достоверными. Результаты средств, встроенных в отладчик, наиболее удобны для сравнения с другими измерениями, связанными с отладкой, или использования функций отладчика.
    • Некоторые средства, такие как средство выделения объектов .NET, доступны только для сценариев, в которых не используется отладчик.
  • Отладка и сборки выпуска

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

Сбор данных профилирования без отладки

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

  1. В открытом проекте в Visual Studio установите для решения конфигурацию Выпуск и выберите цель развертывания Локальный отладчик Windows (или Локальный компьютер).

  2. Выберите Отладка>Профилировщик производительности или нажмите сочетание клавиш ALT+F2.

  3. На странице запуска средств диагностики выберите режим запуска одного или нескольких средств. Отображаются только те средства, которые применимы к типу проекта, операционной системе и языку программирования. Выберите Показать все инструменты, чтобы просмотреть средства, отключенные для этого диагностического сеанса.

    Снимок экрана: средства диагностики.

    Снимок экрана: средства диагностики.

  4. Для запуска диагностического сеанса нажмите кнопку Запуск.

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

    Снимок экрана: сбор данных в профилировщике производительности.

    Снимок экрана: сбор данных в профилировщике производительности.

  5. Для завершения диагностического сеанса выберите команду Остановить сбор.

    Проанализированные данные отображаются на странице Отчет.

Вы также можете сохранить отчеты и открыть их из списка Последние сеансы на странице запуска Средств диагностики.

Снимок экрана: список недавно открытых сеансов средств диагностики.

Снимок экрана: список недавно открытых сеансов средств диагностики.

Дополнительные сведения см. в разделе:

Сбор данных профилирования при отладке

Если запустить отладку в Visual Studio, выбрав элементы Отладка>Начать отладку или нажав клавишу F5, по умолчанию отображается окно Средства диагностики. Чтобы открыть его вручную, выберите Отладка>Окна>Отображение средств диагностики. В окне средств диагностики отображаются сведения о событиях, памяти процесса, использовании ЦП и счетчиках .NET.

Снимок экрана: окно

Если запустить отладку в Visual Studio, выбрав элементы Отладка>Начать отладку или нажав клавишу F5, по умолчанию отображается окно Средства диагностики. Чтобы открыть его вручную, выберите Отладка>Окна>Отображение средств диагностики. Окно Средства диагностики содержит сведения о событиях, памяти процессов и загрузке ЦП.

Моментальный снимок в окне Средства диагностики

  • Используйте значок Параметры на панели инструментов, чтобы указать, требуется ли просматривать показатели Использование памяти, Анализ пользовательского интерфейса и Загрузка ЦП.

  • В раскрывающемся списке Параметры выберите пункт Параметры, чтобы открыть страницы свойств Средств диагностики с дополнительными параметрами.

  • В Visual Studio Enterprise можно включить или отключить IntelliTrace, последовательно выбрав пункты Сервис>Параметры>IntelliTrace.

Сеанс диагностики закончится при остановке отладки.

Примечание.

Используйте повторное запуск, чтобы пропустить страницу запуска и автоматически запустить с предыдущими параметрами с помощью ALT+F2 или щелкнув "Отладка > профилировщика производительности".

Дополнительные сведения см. в разделе:

Вкладка "События"

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

Для фильтрации событий в представлении можно использовать раскрывающийся список Фильтр, выбирая определенные категории событий или отменяя их выбор.

Снимок экрана: фильтр событий диагностики.

Снимок экрана фильтра диагностических событий

Чтобы найти определенную строку в списке событий, используйте поле поиска. Ниже приведены результаты поиска модели имени файла, которая соответствовала трем событиям:

Снимок экрана: поиск диагностических событий.

Чтобы найти определенную строку в списке событий, используйте поле поиска. Здесь показаны результаты поиска строки name, которой соответствуют четыре события:

Снимок экрана поиска диагностических событий

Дополнительные сведения см. в разделе Поиск и фильтрация на вкладке "События" окна "Средства диагностики".

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

Для измерения данных производительности из командной строки можно использовать файл VSDiagnostics.exe, который содержится в Visual Studio или в Инструментах удаленной отладки. Это полезно для записи трассировок производительности в системах, где не установлена служба Visual Studio, или для создания скриптов сбора трассировок производительности. Подробные инструкции см. в разделе Измерение производительности приложения из командной строки.