Удаленная отладка ASP.NET Core в службе приложение Azure (Windows)

В этой статье описывается, как подключить отладчик Visual Studio к приложению ASP.NET Core, работающему в службе приложение Azure. Следующие шаги позволяют отлаживать приложение, как если бы оно выполнялось локально.

Необходимые компоненты

  • Visual Studio 2022 с установленными ASP.NET и веб-разработками и рабочей нагрузкой разработки Azure.

  • Сначала необходимо развернуть приложение ASP.NET Core в службе приложение Azure (Windows) из Visual Studio, а приложение должно быть запущено.

    Дополнительные сведения об обучении, включающем развертывание Служба приложений, см. в статье "Удаленная отладка ASP.NET Core" в Azure.

  • Профиль публикации в Visual Studio должен иметь значение Debug вместо выпуска перед публикацией.

Включение удаленной отладки

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

  1. Войдите в собственный портал Azure.

    Найдите развернутое приложение на портале Azure. Вы можете найти приложение, перейдя на страницу Служба приложений и выбрав экземпляр Служба приложений. Вы также можете выполнить поиск экземпляра Служба приложений по имени в строке поиска вверху. (В этом примере экземпляр Служба приложений называется GitHubBrowser123.)

    Снимок экрана: поиск Azure.

  2. На странице параметров для экземпляра Служба приложений выберите "Конфигурация" в области навигации слева и перейдите на вкладку "Общие параметры".

  3. В нижней части страницы установите для функции удаленной отладки значение Вкл и выберите Visual Studio 2022 в качестве версии удаленного Visual Studio.

    Снимок экрана: параметры удаленной отладки Azure.

  4. В верхней части страницы щелкните Сохранить, чтобы сохранить изменения.

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

Настройка параметров отладки

  1. Создайте приложение без ошибок. Остановите приложение, если оно работает локально.

    Примечание.

    Убедитесь, что состояние локального кода соответствует развернутому в Azure. Это гарантирует, что локальные файлы символов и исходный код соответствуют развернутой версии приложения.

  2. Выберите "Параметры отладки>" в верхнем меню Visual Studio. Убедитесь, что флажок "Включить только мой код" снят (как показано ниже), а затем нажмите кнопку "ОК".

    Изменение этого параметра позволяет Visual Studio отладить оптимизированный код, развернутый в Azure, используя необходимые файлы символов из локальной папки bin. Файлы символов используются отладчиком в качестве моста между компиляцией, выполнением кода и исходным кодом в Visual Studio. Для удаленной отладки требуются соответствующие файлы символов.

    Снимок экрана: параметры отладки Visual Studio.

Подключение отладчика к Службе приложений

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

  2. Откройте раскрывающийся список Тип подключения и выберите параметр Служба приложений Microsoft Azure.

  3. Выберите Найти... рядом с полем Целевой объект подключения, чтобы открыть диалоговое окно, которое позволяет просматривать подписки Azure и службы приложений.

    Если вы еще не вошли в подписку Azure, выберите "Найти..." , а затем выполните вход.

  4. Найдите и выберите экземпляр Служба приложений, созданный на предыдущем шаге, и нажмите кнопку "ОК".

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

    Снимок экрана: функции подключения к процессам.

  6. В файле приложения C#, Index.cshtml.csнапример, задайте точку останова, щелкнув в левом поле. Кроме того, щелкните правой кнопкой мыши и выберите точку останова точки>останова.

  7. В веб-приложении перейдите к конечной точке с точкой останова. Если вы подключены к процессу, но не можете попасть в точку останова, убедитесь, что профиль публикации в Visual Studio имеет конфигурацию отладки вместо конфигурации выпуска.

  8. Необязательно. Чтобы убедиться, что Visual Studio загружает файлы символов для сеанса отладки. Перейдите в раздел Отладка > Windows> Модули, чтобы открыть окно модулей. Это окно указывает, что файлы символов были успешно загружены после изменения конфигурации кода , внесенных ранее.

    Снимок экрана: окно файлов символа.

Примечание.

Для последующей отладки службы приложений выберите пункт "Повторно выполнить отладку>", чтобы w3wp.exe или использовать горячие клавиши SHIFT+ALT+P.