Проблема при удаленной отладке веб-службы - PullRequest
2 голосов
/ 25 мая 2011

Я много раз встречал этот вопрос в Google и в StackOverflow, но никто не отвечает на мой сценарий.

Я пытаюсь удаленно отладить веб-сервис, удаленная отладка настроена правильно,развернул последнюю сборку (вместе с файлами pdb) и подключил отладчик к процессу w3wp на удаленной машине.Однако после прикрепления все мои точки останова автоматически отключаются (в данный момент точка останова не будет достигнута. Символы для этого документа не были загружены).Кто-нибудь знает, что я делаю неправильно?

До сих пор я пробовал следующее:

  • в расширенных параметрах компиляции установите 'Generate Debug Information' на 'FULL'.
  • установите для параметра «Включить оптимизацию» значение «Ложь» в расширенных параметрах компиляции.
  • В окне «Модули» статус символа «Пропущенные символы загрузки
    • попытался загрузить символы вручную
    • попытался изменить расположение файлов символов в настройках символов на удаленный файл pdb
  • очистить и перестроить решение перед развертыванием
  • Я попытался снять отметку «Просто мой код» вВарианты отладки, которые, казалось, решили проблему, но когда я позвонил в веб-сервис, ни одна точка останова не была достигнута.
  • Этот сайт выглядел многообещающим, но в итоге не помог
  • pdb находится на удаленной машине e

Ответы [ 3 ]

3 голосов
/ 25 мая 2011

После долгих раздумий я, кажется, достиг того, чего хотел:

  • в расширенных опциях компиляции
    • установите для параметра «Создать отладочную информацию» значение «ПОЛНЫЙ».
    • установите для параметра «Включить оптимизацию» значение «Ложь».
  • Убедитесь, что расположение файлов символов (окно отладки - модулей) в настройках символов указывает на правильное расположение
    • Я добавил удаленное местоположение и локальное местоположение в местоположения .pdb
  • очистить и перестроить решение перед развертыванием
0 голосов
/ 29 августа 2013

В моем случае я развернул pdb на пути к рабочему процессу iis, так что все должно было быть хорошо, и я действительно не мог понять, почему появляется «Пропущенные символы загрузки». У меня действительно сложилось впечатление, что это было просто не в настроении (без рациональной причины).

Так что я щелкнул правой кнопкой мыши на DLL, я был заинтересован в отладке (можно также выбрать несколько файлов), и выбрал Загрузить символы из> Путь символа

и это привело к их загрузке.

Тогда я мог бы отладить это. Спасибо!

0 голосов
/ 25 мая 2011

Я так и не нашел надежного способа заставить это работать. При попытке отладки службы WCF, размещенной в IIS, повторяя один и тот же процесс снова и снова (ReBuild, Deploy, Restart Site, Attach), я иногда загружал символы, иногда нет.

В моем случае все зависело от того, подключил ли я к процессу до того, как кто-то сделал запрос на сайт после того, как я развернул (в свою очередь, IIS скомпилировал и выполнил все свое дело).

Я обнаружил, что если я буду следовать этим шагам, это сработает для меня:

  1. Восстановление решения
  2. Развертывание на удаленном сервере
  3. Перезагрузите IIS - Я сомневаюсь, что это необходимо, достаточно перезапустить пул приложений. Я уверен, что
  4. Найдите рабочий процесс и присоедините к нему - Точки останова будут отключены в этот момент, это нормально
  5. Запросите что-то с сайта - Я сделал это только с помощью браузера. Это заставило IIS скомпилировать мое приложение. Подключив VS к этой компиляции, я обнаружил, что загружаю символы (по крайней мере, гораздо чаще, чем раньше) .

Может быть, тот же процесс будет работать для вас?

...