Поделиться через


Отладка службы облачных служб Azure (расширенная поддержка) в Visual Studio

Visual Studio предоставляет различные варианты отладки облачных служб Azure (расширенная поддержка) и виртуальных машин.

Необходимые условия

Отладка облачной службы на локальном компьютере

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

Эмулятор имитирует службу вычислений Azure и запускается в локальной среде, чтобы протестировать и отладить облачную службу перед развертыванием. Эмулятор обрабатывает жизненный цикл экземпляров ролей и предоставляет доступ к имитируемым ресурсам, таким как локальное хранилище. При отладке или запуске службы из Visual Studio он автоматически запускает эмулятор в качестве фонового приложения, а затем развертывает службу в эмуляторе. Эмулятор можно использовать для просмотра службы при запуске в локальной среде. Вы можете запустить полную версию или экспресс-версию эмулятора. См. , как использовать эмулятор Express для локального запуска и отладки облачного сервиса.

Отладка облачной службы на локальном компьютере

  1. В строке меню выберите Отладка>Начать отладку, чтобы запустить проект службы Azure Cloud (расширенная поддержка). В качестве альтернативы можно нажать клавишу F5. Появится сообщение о запуске эмулятора вычислений. При запуске эмулятора значок в системном трее подтверждает запуск.

    эмулятор Azure в системной области

  2. Отобразите интерфейс пользователя эмулятора вычислений, откройте контекстное меню значка Azure в области уведомлений, а затем выберите Показать пользовательский интерфейс эмулятора вычислений.

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

  3. Пошаговая отладка приложения через выбор команд в меню Отладка и установку точек останова в коде. При пошаговом выполнении приложения в отладчике панели обновляются с текущим состоянием приложения. При остановке отладки развертывание приложения удаляется. Если приложение включает веб-роль и вы задали свойство действия запуска для запуска веб-браузера, Visual Studio запускает веб-приложение в браузере. Если изменить количество экземпляров роли в конфигурации службы, необходимо остановить облачную службу, а затем перезапустить отладку, чтобы можно было отлаживать эти новые экземпляры роли.

    Заметка

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

Отладка облачной службы в Azure

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

Включение удаленной отладки для облачной службы (расширенная поддержка)

  1. Добавьте конечную точку в ServiceDefinition.csdef для порта msvsmon по умолчанию. Для Visual Studio 2022 это 4026; Для Visual Studio 2019 это 4024.

    <Endpoints>
       <InputEndpoint name="RemoteDebug" protocol="tcp" port="4026" localPort="4026" />
    </Endpoints>
    

    Заметка

    Другие версии Visual Studio используют разные порты для удаленного отладчика.

  2. Если вы используете .NET 4.8, откройте файл ServiceConfiguration.Cloud.cscfg и проверьте значение атрибута osFamily на элементе ServiceConfiguration при публикации облачных служб (расширенная поддержка). Для проекта .NET 4.8 используйте osFamily="7".

  3. Откройте контекстное меню проекта Azure и выберите Опубликовать.

  4. Выберите среду промежуточного тестирования и конфигурацию отладки .

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

    Выбор конфигурации отладки

  5. Выполните обычные действия, описанные в облачных служб (расширенная поддержка), но установите флажок Включить удаленный рабочий стол для всех ролей.

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

  6. Перейдите к следующему экрану, проверьте параметры, и, когда будете готовы, щелкните Опубликовать и дождитесь завершения развертывания.

  7. Войдите на портале Azure и перейдите в облачную службу (расширенную поддержку), которую требуется выполнить отладку.

  8. Выберите Роли и экземпляры в левой панели, а затем выберите роль, которую вы хотите отладить удаленно.

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

    снимок экрана: всплывающее окно экземпляра роли с параметром

  10. На удаленной виртуальной машине Azure установите инструменты удаленной отладки Visual Studio 2022, как описано в Remote debugging.

  11. На рабочем столе на виртуальной машине выполните команду msvsmon.exe в папке установки Visual Studio в Common7\IDE\Remote Debugger\x64. Не забудьте запустить от имени администратора.

  12. Примите запросы на разрешение доступа через брандмауэр. Должно появиться сообщение, указывающее, что msvsmon.exe начал прослушивать подключения.

    скриншот, демонстрирующий, как msvsmon.exe прослушивает подключения.

  13. На портале Azure откройте группу ресурсов и получите общедоступный IP-адрес облачной службы (расширенная поддержка).

    снимок экрана, показывающий, где найти общедоступный IP-адрес облачной службы.

Подключение отладчика к облачной службе (расширенная поддержка) в Azure

Заметка

По возможности следует выполнить отладку с помощью конфигурации отладки , выбранной в процессе публикации . Но если вы отлаживаете конфигурацию выпуска , то в Visual Studio используйте Ctrl+Q для поиска "Просто мой код" и снимите флажок Включить просто мой код в Инструменты>Параметры>Отладчик>Общие. Релизные сборки оптимизированы, и поэтому не считаются "Мой код".

  1. Выберите Отладка>Присоединить к процессу (или нажмите клавиши Ctrl +Alt+P).

  2. Сохраняйте тип подключения в по умолчанию.

  3. Введите целевой объект подключения, используя IP-адрес и порт: {ipaddress}:4026.

  4. Установите , чтобы присоединить к автоматически к .

  5. Войдите, используя те же учетные данные, что и пользователь удаленного рабочего стола.

  6. Выберите Показать процесс для всех пользователей. При отладке рабочей роли подключитесь к WaWorkerHost.exe; при отладке веб-роли подключитесь к процессу w3wp.exe; для роли API сайта используйте WaIISHost.exe.

  7. Установите точки останова (перейдите к строке и нажмите клавишу F9), перейдите к общедоступному URL-адресу сайта и воспроизводите сценарий для отладки.

Отладка службы приложений Azure

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

Заметка

Это доступно только для службы приложений Azure, начиная с Visual Studio 2022 17.1.

Отладка службы приложений Windows Azure

  1. В разделе Отладкавыберите Подключиться к процессу.

  2. Измените тип подключения на службы приложений Microsoft Azure, а затем выберите Find...

  3. В открывшемся диалоговом окне выберите название подписки .

    снимок экрана: диалоговое окно

    Заметка

    Вам необходимо войти в учетную запись Майкрософт с доступом к подписке, содержащей службу приложений Azure.

  4. Отфильтруйте представление по группе ресурсов или типу ресурсов или по имени.

  5. Затем выберите службу приложений, которую вы хотите отладить, а затем нажмите кнопку ОК.

    Это позволяет выполнять удаленную отладку в службе приложений и отображать список доступных процессов для присоединения.

    снимок экрана: окно подключения к процессу, в котором показаны процессы, выполняемые в выбранной службе приложений.

  6. Выберите процесс, к которому нужно подключиться, а затем выберите Подключить, чтобы начать отладку.