Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Отладка локального приложения Service Fabric
Внимание
Удаленная отладка не поддерживается в VS 2022
Вы можете сэкономить время и деньги, развернув приложение Azure Service Fabric и выполнив его отладку в кластере для разработки, состоящем из локальных компьютеров. С помощью Visual Studio 2019 или 2015 можно развернуть приложение в локальном кластере и автоматически подключить отладчик ко всем экземплярам приложения. Для подключения отладчика необходимо запустить Visual Studio от имени администратора.
Запустите кластер локальной разработки, выполнив действия, описанные в статье Настройка среды разработки Service Fabric.
Нажмите клавишу F5 или выберите в меню Отладка>Начать отладку.
Задайте в коде точки останова и поэтапно выполните приложение, выбирая соответствующие команды в меню Отладка .
Примечание.
Visual Studio подключается ко всем экземплярам приложения. При пошаговом выполнении кода разные процессы могут одновременно достигать точек останова. Это приводит к возникновению параллельных сеансов. Попробуйте отключить точки останова после их срабатывания, сделав каждую точку зависимой от идентификатора потока или используя диагностические события.
Окно События диагностики открывается автоматически и позволяет просматривать данные о событиях диагностики в реальном времени.
Кроме того, вы можете открыть окно События диагностики в Cloud Explorer. В разделе Service Fabric щелкните любой узел правой кнопкой мыши и выберите пункт Просмотр потоковых трассировок.
Чтобы отфильтровать трассировки по определенной службе или приложению, включите потоковую передачу трассировок для этой службы или приложения.
События диагностики можно просматривать в автоматически созданном файле ServiceEventSource.cs и вызывать из кода приложения.
ServiceEventSource.Current.ServiceMessage(this, "My ServiceMessage with a parameter {0}", result.Value.ToString());
В окне События диагностики поддерживаются фильтрация, приостановка и проверка событий в реальном времени. Фильтр представляет собой простой поиск по строкам сообщений о событиях, включая их содержимое.
Отладка служб аналогична отладке приложений. Обычно для простой отладки точки останова задаются в Visual Studio. Несмотря на то, что Reliable Collections реплицируются на нескольких узлах, они все равно реализуют IEnumerable. В этой реализации вы можете использовать представление результатов в Visual Studio во время отладки для просмотра внутренних сведений. Для этого задайте точку останова в любом месте своего кода.
Запуск скрипта в процессе отладки
В некоторых сценариях может потребоваться запустить скрипт во время сеанса отладки (например, если службы по умолчанию не используются).
В Visual Studio можно добавить файл с именем Start-Service.ps1 в папку Scripts проекта приложения Service Fabric (.sfproj). Этот скрипт будет вызываться после создания приложения в локальном кластере.
Отладка удаленного приложения Service Fabric
Если приложения Service Fabric выполняются в кластере Service Fabric в Azure, они доступны для удаленной отладки непосредственно из Visual Studio.
Примечание.
Компоненту требуется пакет SDK 2.0 для Service Fabric и пакет SDK Azure для .NET 2.9.
Предупреждение
Удаленная отладка предназначена для сценариев разработки и тестирования и не должна использоваться в производственной среде, поскольку влияет на запущенные приложения.
Перейдите к своему кластеру в Cloud Explorer. Щелкните правой кнопкой мыши и выберите пункт Включить отладку.
Это действие инициирует процесс включения расширения удаленной отладки на узлах кластера и соответствующих конфигураций сети.
Щелкните узел кластера в обозревателе облака правой кнопкой мыши и выберите пункт Подключить отладчик.
В диалоговом окне Подключение к процессу выберите процесс, который нужно отладить, и нажмите кнопку Подключить.
Имя процесса, к которому нужно подключиться, равняется имени сборки вашего проекта службы.
Отладчик подключится ко всем узлам, на которых выполняется процесс.
При отладке бессостоячной службы все её экземпляры на всех узлах участвуют в сеансе отладки.
При отладке службы с отслеживанием состояния активна только первичная реплика каждого раздела, а значит, отладчик затрагивает только ее. Если во время сеанса отладки первичная реплика переносится, обработка этой реплики по-прежнему входит в сеанс отладки.
Чтобы перехватывать только релевантные секции или экземпляры определенной службы, можно использовать условные точки останова, которые будут останавливать только определенную секцию или экземпляр.
Примечание.
Сейчас отладка кластера Service Fabric с несколькими экземплярами исполняемого имени одной и той же службы не поддерживается.
После того как отладка приложения будет завершена, расширение удаленной отладки можно отключить, щелкнув кластер в обозревателе облака правой кнопкой мыши и выбрав пункт Отключить отладку.
Трансляция трасс с удаленного узла кластера
Вы также можете напрямую передавать трассировки из удаленного узла кластера в Visual Studio. Эта функция позволяет передавать события трассировки ETW, возникающие на узле кластера Service Fabric.
Примечание.
Компоненту требуется пакет SDK 2.0 для Service Fabric и пакет SDK Azure для .NET 2.9. Эта функция поддерживает только кластеры на платформе Azure.
Предупреждение
Функция потоковой передачи данных трассировки предназначена для сценариев разработки и тестирования и не должна использоваться в производственных средах из-за влияния на работающие приложения. В рабочем сценарии следует применять пересылку событий с помощью средств диагностики Azure.
Перейдите к своему кластеру в Cloud Explorer. Щелкните правой кнопкой мыши и выберите пункт Включить потоковую трассировку.
Это действие начнет процесс включения расширения потоковой передачи трассировок на узлах кластера, а также необходимых конфигураций сети.
Разверните элемент Узлы в обозревателе облака, щелкните правой кнопкой мыши узел, потоковую передачу трассировок с которого вы хотите включить, и выберите пункт Показать потоковую передачу трассировок.
Повторите шаг 2 для всех узлов, трассировку которых вы хотите получать. Поток каждого узла будет отображаться в отдельном окне.
Теперь вы можете видеть трассировки, которые выпускает Service Fabric и ваши собственные службы. Если вы хотите отфильтровать события по определенному приложению, просто введите название этого приложения в качестве фильтра.
После того как потоковая передача трассировок будет завершена, вы можете отключить удаленную потоковую передачу трассировок, щелкнув кластер в обозревателе облака правой кнопкой мыши и выбрав пункт Отключить трассировки потоковой передачи.