Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Отладчик моментальных снимков создает моментальный снимок ваших рабочих приложений в тот момент, когда выполняется интересующий вас код. Чтобы указать отладчику создать моментальный снимок, необходимо задать точки снимков и логточки в коде. Отладчик позволяет увидеть, что произошло неправильно, не влияя на трафик рабочего приложения. Отладчик Моментальных Снимков может кардинально сократить время, необходимое для устранения проблем, возникающих в рабочих средах.
Точки моментальных снимков и точки ведения журнала похожи на точки останова, но в отличие от точек останова, точки моментальных снимков не приостанавливают работу приложения при выполненной строке. Как правило, запись моментального снимка в точке снимка занимает 10–20 миллисекунд.
В этом руководстве описано следующее:
- Запустите отладчик создания моментальных снимков
- Установка точки фиксации и просмотр моментального снимка
- Установить точку журнала
Предпосылки
Отладчик моментальных снимков доступен только начиная с Visual Studio 2017 Enterprise версии 15.5 или выше с рабочей нагрузкой разработки Azure. (На вкладке "Отдельные компоненты" его можно найти в разделе "Отладка и тестирование>"Отладчик моментальных снимков.)
Если он еще не установлен, установите Visual Studio 2019. При обновлении из предыдущей установки Visual Studio запустите установщик Visual Studio и проверьте компонент отладчика моментальных снимков в рабочей нагрузке ASP.NET и веб-разработки.
Базовый или более высокий план службы приложений Azure.
Коллекция моментальных снимков доступна для следующих веб-приложений, работающих в Службе приложений Azure:
- ASP.NET приложения, работающие в .NET Framework 4.6.1 или более поздней версии.
- приложения ASP.NET Core, работающие на платформе .NET Core 2.0 или более поздней версии на Windows.
Откройте свой проект и запустите отладчик моментальных снимков
Откройте проект, который вы хотите отлаживать с помощью моментального снимка.
Это важно
Чтобы выполнить отладку моментальных снимков, необходимо открыть ту же версию исходного кода , которая публикуется в службе приложений Azure.
Выберите отладочный отладчик моментального > снимка.... Выберите службу приложений Azure, в который развернут проект, и учетную запись хранения Azure, а затем нажмите кнопку "Присоединить". Отладчик моментальных снимков также поддерживает службу Azure Kubernetes и виртуальные машины Azure (ВМ) и наборы масштабируемых виртуальных машин.
Это важно
При первом нажатии кнопки "Подключить отладчик моментальных снимков" вам будет предложено установить расширение сайта отладчика моментальных снимков в службе приложений Azure. Для установки требуется перезапуск службы приложений Azure.
Замечание
(Visual Studio 2019 версии 16.2 и выше) Отладчик моментальных снимков включил поддержку облака Azure. Убедитесь, что выбранная учетная запись хранения Azure и ресурс Azure находятся в одном облаке. Обратитесь к администратору Azure, если у вас есть вопросы о конфигурациях соответствия Azure предприятия.
Visual Studio теперь находится в режиме отладки моментальных снимков.
Окно "Модули" показывает, когда все модули загружены для службы приложений Azure (выберите "Отладка > модулей Windows > " , чтобы открыть это окно).
Установить точку привязки
В редакторе кода щелкните по левой области рядом со строкой кода, которая вас интересует, чтобы установить точку останова. Убедитесь, что это код, который вы знаете, будет выполняться.
Нажмите «Начать сбор», чтобы активировать точку привязки.
Подсказка
Вы не можете сделать шаг при просмотре моментального снимка, но вы можете поместить несколько точек снимка в код, чтобы отслеживать выполнение на разных строках кода. Если в вашем коде есть несколько точек снимка, Отладчик снимков гарантирует, что соответствующие снимки относятся к одному сеансу конечного пользователя. Отладчик моментальных снимков делает это, даже если много пользователей используют ваше приложение.
Создание моментального снимка
После установки точки привязки можно вручную создать моментальный снимок, открыв веб-сайт в браузере и выполнив указанную строку кода, или подождать, пока пользователи создадут его в процессе использования сайта.
Проверка данных моментального снимка
Когда точка остановки достигается, снимок состояния появляется в окне "Средства диагностики". Чтобы открыть это окно, выберите Отладка > Окна > Показать диагностические средства.
Дважды щелкните точку привязки, чтобы открыть моментальный снимок в редакторе кода.
В этом представлении можно навести указатель мыши на переменные для просмотра Подсказок данных, использовать Локальные, Наблюдения и окна стек вызова, а также оценивать выражения.
Сам веб-сайт по-прежнему живет, и конечные пользователи не затрагиваются. По умолчанию для каждой точки привязки фиксируется только один моментальный снимок: после записи моментального снимка отключается точка привязки. Если вы хотите сделать другой моментальный снимок в точке снимка, можно снова включить точку снимка, нажав Обновить коллекцию.
Вы также можете добавить больше точек привязки в приложение и настроить их с помощью кнопки Обновить коллекцию.
Нужна помощь? Ознакомьтесь со сведениями об устранении неполадок и известных проблемах и разделе часто задаваемых вопросов по отладке моментальных снимков.
Установить условную точку останова
Если сложно воссоздать конкретное состояние в вашем приложении, попробуйте использовать условную точку останова. Условные точки создания снимков помогают вам контролировать момент, когда делается снимок, например, когда переменная содержит определенное значение, которое вы хотите проверить. Можно задать условия с помощью выражений, фильтров или счетчиков попаданий.
Создать условную точку привязки
Щелкните правой кнопкой мыши значок оснастки (пустой сферы) и выберите "Параметры".
В окне настроек точки захвата введите выражение.
На приведенном выше рисунке моментальный снимок делается только для контрольной точки, когда
visitor.FirstName == "Dan"
.
Установить точку журнала
Помимо создания моментального снимка при попадании в точку привязки, можно также настроить точку привязки для записи сообщения (т. е. создание точки журнала). Вы можете задать точки журнала без необходимости повторного развертывания приложения. Точки журнала выполняются виртуально и не вызывают воздействия или побочных эффектов на вашем приложении.
Создать точку журнала
Щелкните правой кнопкой мыши значок привязки (синий шестигранник) и выберите Параметры.
В окне параметров точки привязки выберите Действия.
В поле "Сообщение" можно ввести новое сообщение журнала, которое вы хотите записать. Вы также можете оценить переменные в сообщении журнала, поместив их в фигурные скобки.
Если вы выберете Отправить в окно вывода, то при достижении точки журнала сообщение появится в окне "Средства диагностики".
Если вы выберете "Отправить в журнал приложений", когда точка журнала будет достигнута, сообщение появится в любом месте, где можно увидеть сообщения из
System.Diagnostics.Trace
(илиILogger
в .NET Core), например, в App Insights.
Связанный контент
В этом руководстве вы узнали, как использовать отладчик моментальных снимков для служб приложений. Вы можете ознакомиться с дополнительными сведениями об этой функции.