Выполнение средств профилирования с отладчиком и без него | Документация Майкрософт (C#, Visual Basic, C++, F#)
Visual Studio предлагает различные средства для измерения производительности и профилирования. Некоторые средства, такие как "Загрузка ЦП" и "Использование памяти", можно запустить с отладчиком или без него, а также с конфигурациями сборок отладки или выпуска. Средства, отображаемые в окне Средства диагностики, запускаются только во время сеанса отладки. Средства, отображаемые в области Профилировщик производительности запускаются без отладчика, а анализ результатов следует выполнять после того, как вы решили приостановить приложение и выполнить сбор данных (для заключительного анализа).
Примечание.
Вы можете использовать средства оценки производительности, не относящиеся к отладчику, в Windows 7 и более поздних версий. Для выполнения интегрированных в отладчик средств профилирования требуется Windows 8 или более поздней версии.
Не связанный с отладчиком Профилировщик производительности и встроенные в отладчик Средства диагностики предоставляют разные сведения и интерфейсы. Интегрированные в отладчик средства показывают значения переменных и позволяют использовать точки останова. Не связанные с отладчиком средства дают результаты, которые ближе к взаимодействию с конечным пользователем.
Чтобы определить, какие средства и результаты для этого нужно использовать, примите во внимание следующие параметры:
Средства, интегрированные в отладчик, и средства, не относящиеся к нему
- Внешние проблемы производительности, например проблемы файлового ввода-вывода или скорости реагирования сети, не слишком различаются в средствах, связанных и не связанных с отладчиком.
- Отладчик сам изменяет время производительности по мере того, как он выполняет необходимые операции отладки (например, перехват исключений и события загрузки модулей).
- Показатели производительности сборки выпуска в Профилировщике производительности являются наиболее точными и достоверными. Результаты средств, встроенных в отладчик, наиболее удобны для сравнения с другими измерениями, связанными с отладкой, или использования функций отладчика.
- Некоторые средства, такие как средство выделения объектов .NET, доступны только для сценариев, в которых не используется отладчик.
Отладка и сборки выпуска
- Для проблем с вызовами, которые приводят к высокой загрузке ЦП, возможны значительные различия по производительности между сборками отладки и выпуска. Проверьте, существует ли проблема в сборках выпуска.
- Если проблема возникает только в сборках отладки, скорее всего, запускать средства, не связанные с отладчиком, не требуется. При проблемах со сборками выпуска определите, поспособствуют ли функции средств, встроенных в отладчик, дальнейшему изучению проблемы.
- В сборках выпуска присутствуют такие оптимизации, как встраивание вызовов функций и констант, удаление путей кода, способы хранения переменных, которые не могут использоваться отладчиком. Показатели производительности в отладочных сборках менее точны, так как в сборках отладки нет подобных оптимизаций.
Сбор данных профилирования без отладки
Для сбора данных о производительности без отладки можно запустить средства Профилировщика производительности.
В открытом проекте в Visual Studio установите для решения конфигурацию Выпуск и выберите цель развертывания Локальный отладчик Windows (или Локальный компьютер).
Выберите Отладка>Профилировщик производительности или нажмите сочетание клавиш ALT+F2.
На странице запуска средств диагностики выберите режим запуска одного или нескольких средств. Отображаются только те средства, которые применимы к типу проекта, операционной системе и языку программирования. Выберите Показать все инструменты, чтобы просмотреть средства, отключенные для этого диагностического сеанса.
Для запуска диагностического сеанса нажмите кнопку Запуск.
Пока сеанс запущен, некоторые средства отображают графики данных в режиме реального времени на странице средств диагностики и могут отображать параметры для приостановки и возобновления сбора данных.
Для завершения диагностического сеанса выберите команду Остановить сбор.
Проанализированные данные отображаются на странице Отчет.
Вы также можете сохранить отчеты и открыть их из списка Последние сеансы на странице запуска Средств диагностики.
Дополнительные сведения см. в разделе:
- Анализ производительности с помощью профилирования ЦП
- Анализ использования памяти
- Анализ использования памяти для кода .NET
- Анализ данных инструментирования
- Анализ производительности асинхронного кода .NET
- Анализ производительности базы данных
- Анализ использования графического процессора
Сбор данных профилирования при отладке
Если запустить отладку в Visual Studio, выбрав элементы Отладка>Начать отладку или нажав клавишу F5, по умолчанию отображается окно Средства диагностики. Чтобы открыть его вручную, выберите Отладка>Окна>Отображение средств диагностики. В окне средств диагностики отображаются сведения о событиях, памяти процесса, использовании ЦП и счетчиках .NET.
Если запустить отладку в Visual Studio, выбрав элементы Отладка>Начать отладку или нажав клавишу F5, по умолчанию отображается окно Средства диагностики. Чтобы открыть его вручную, выберите Отладка>Окна>Отображение средств диагностики. Окно Средства диагностики содержит сведения о событиях, памяти процессов и загрузке ЦП.
Используйте значок Параметры на панели инструментов, чтобы указать, требуется ли просматривать показатели Использование памяти, Анализ пользовательского интерфейса и Загрузка ЦП.
В раскрывающемся списке Параметры выберите пункт Параметры, чтобы открыть страницы свойств Средств диагностики с дополнительными параметрами.
В Visual Studio Enterprise можно включить или отключить IntelliTrace, последовательно выбрав пункты Сервис>Параметры>IntelliTrace.
Сеанс диагностики закончится при остановке отладки.
Примечание.
Используйте повторное запуск, чтобы пропустить страницу запуска и автоматически запустить с предыдущими параметрами с помощью ALT+F2 или щелкнув "Отладка > профилировщика производительности".
Дополнительные сведения см. в разделе:
- Измерение производительности приложения путем анализа использования ЦП
- Измерение использования памяти в Visual Studio
Вкладка "События"
Во время сеанса отладки на вкладке "События" окна "Средства диагностики" отображаются возникающие диагностические события. Префиксы категории Точка останова, Файл и другие позволяют быстро просмотреть список в поисках нужной категории или пропустить категории, которые вас не интересуют.
Для фильтрации событий в представлении можно использовать раскрывающийся список Фильтр, выбирая определенные категории событий или отменяя их выбор.
Чтобы найти определенную строку в списке событий, используйте поле поиска. Ниже приведены результаты поиска модели имени файла, которая соответствовала трем событиям:
Чтобы найти определенную строку в списке событий, используйте поле поиска. Здесь показаны результаты поиска строки name, которой соответствуют четыре события:
Дополнительные сведения см. в разделе Поиск и фильтрация на вкладке "События" окна "Средства диагностики".
Сбор данных профилирования из командной строки
Для измерения данных производительности из командной строки можно использовать файл VSDiagnostics.exe, который содержится в Visual Studio или в Инструментах удаленной отладки. Это полезно для записи трассировок производительности в системах, где не установлена служба Visual Studio, или для создания скриптов сбора трассировок производительности. Подробные инструкции см. в разделе Измерение производительности приложения из командной строки.