Отладка веб-сайта Azure

Я понимаю, что я могу отлаживать Azure Web Role, используя описанные здесь методы: http://msdn.microsoft.com/en-us/library/windowsazure/ee405479.aspx

Каков процесс отладки веб-сайта Windows Azure?

Я бы хотел, чтобы я мог выполнить код, установить точки останова, ect.

Ответ 1

ОБНОВЛЕНИЕ: Портал Azure изменился, а блейд Application Settings удаляется.


Я думаю, что это заслуживает обновленного ответа для последних версий портала управления Azure и VS.

Вот как я добился удаленной отладки для API ASP.Net Core 2.0 с помощью Visual Studio 2017 Preview 7.1:

  1. Откройте портал управления Azure, перейдите к веб-приложению, нажмите "Конфигурация"> "Общие параметры" и включите удаленную отладку. Ранее также запрашивалась версия VS, но это, кажется, больше не вариант, я предполагаю, что платформа удаленной отладки теперь автоматически обнаруживает (но это также может быть тот случай, когда версии VS до 2015 года больше не будут поддерживается, см. комментарии ниже)

enter image description here

  1. Отредактируйте свой профиль публикации и установите для конфигурации значение Debug, а затем повторно опубликуйте API в Azure:

enter image description here

  1. Установите точки останова в вашем коде
  2. Откройте панель обозревателя серверов в Visual Studio и, если вы еще не подключены к Azure с учетной записью Microsoft, подключите ее.

  3. Откройте Azure> Служба приложений> [Группа ресурсов], затем щелкните правой кнопкой мыши свое веб-приложение и выберите " Присоединить отладчик". После небольшой настройки он должен подключиться и (если настроено) VS откроет браузер для вашего веб-приложения Azure.

enter image description here

enter image description here

  1. Хит ваш сайт /API, и ваша точка останова должна быть достигнута.

Последние заметки, которые я собрал:

  • Я заметил, что иногда в меню отсутствует опция "Attach Debugger". Похоже, что выбор Стоп из меню (ожидание) и затем Старт достаточно для повторного появления опции, если остановка сервиса является опцией. Там могут быть другие исправления.
  • Некоторая официальная документация
  • Не забудьте изменить конфигурацию вашего профиля публикации обратно на Release и повторно опубликовать версию Release. Не используйте Debug в производстве. Спасибо @Manfred.
  • Избегайте длительных остановок на контрольных точках (кто-нибудь может объяснить, как это может повлиять?)
  • Похоже, что через 48 часов функция удаленной отладки автоматически отключается (пока не может подтвердить это)

Ответ 2

В соответствии с этим последним сообщением это возможно.

Вот необходимые шаги для Visual Studio 2012, взятые из этой публикации:

  • На портале управления Windows Azure перейдите на вкладку "Конфигурировать" для ваш веб-сайт, а затем прокрутите страницу до раздела "Диагностика сайта".
  • Задайте удаленную отладку в положение "Вкл." и установите "Удаленная отладка" Visual Studio Версия для 2012
  • В меню "Отладка Visual Studio" нажмите "Присоединить к процессу в поле" Квалификатор ", введите URL-адрес вашего веб-сайта без префикса http://
  • Выберите Показывать процессы от всех пользователей
  • Когда вам будет предложено ввести учетные данные, введите имя пользователя и пароль, которые разрешения на публикацию веб-сайта
    • Чтобы получить эти учетные данные, перейдите на вкладку" Панель мониторинга "для своего веб-сайта на портале управления и нажмите" Загрузить профиль публикации ". Откройте файл в текстовом редакторе, и вы найдете имя пользователя и пароль после первых вхождения userName = и userPWD =.
  • Когда процессы появятся в таблице Доступные процессы, выберите w3wp.exe и нажмите" Прикрепить"
  • Откройте браузер для URL-адреса вашего сайта. Возможно, вам придется подождать 20 секунд или около того, пока Windows Azure настроит сервер для отладки. Эта задержка происходит только при первом запуске в режиме отладки на веб-сайте. Последующие моменты в течение следующих 48 часов, когда вы снова начнете отладку, не будет задержки.

Ответ 3

Ответ такой же, как и ответ на вопрос Как отладить (asp.net) веб-сайт в любом сервере хостинга?

  • Правильно ли обрабатываются исключения/обработка журналов
  • Используйте <compilation debug="true" /> во время отладки (и только при отладке)
  • Включить все и любые сообщения об ошибках для веб-сайта (прилагается ниже)
  • [вставить здесь ваш любимый способ отладки сайта с общим хостингом]

Azure Websites Diagnostics

Ответ 4

Скотт Гензель недавно написал об этом здесь.

Это не так хорошо, как контрольные точки настройки, но запись информации, передаваемой на консоль, делает отладку немного менее болезненной.

Ответ 5

Пол, это может стать для вас шагом вперед в некоторых из приведенных выше предложений: "Glimpse похож на отладчик на стороне клиента FireBug, за исключением того, что он реализован в JavaScript на стороне клиента с перехватами в ASP.NET на стороне сервера".

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

http://www.hanselman.com/blog/NuGetPackageOfTheWeek5DebuggingASPNETMVCApplicationsWithGlimpse.aspx