Точка останова не срабатывает при удаленной отладке в Интернете для ASP.NET - PullRequest
10 голосов
/ 22 декабря 2008

Я выполняю удаленную отладку на сервере Windows 2003, доступ к которому осуществляется через Интернет. У меня установлен VS 2008 SP1 на моем XP dev box.

Я запустил сайт на удаленном сервере и подключил ко всем процессам w3wp.exe на удаленном сервере. Я заметил, что .dll не загружает файл символов. Когда я пытаюсь загрузить соответствующий файл .pdb с моего локального компьютера, он говорит, что файл не совпадает. У меня снят флажок «Требовать, чтобы исходные файлы точно совпадали с исходной версией». Сборка на удаленном сервере такая же, как на моем устройстве dev. Сайт и .dll были скопированы с dev boc на удаленный сервер, и с тех пор код не изменился. Поэтому я знаю, что файлы .dll и .pdb должны совпадать или, по крайней мере, мне нужно принудительно сопоставить.

Вопросы:

  1. Как получить файл .pdb для загрузки? Я знаю, что точки останова не сработают, если файл символов не загружен. Я заметил, что файл .pdb не существует в папке «Temporary ASP.NET Files» на удаленном сервере. .Dll делает.

  2. Какая последовательность запуска удаленной отладки внутри VS? (Удаленная настройка завершена, и я вижу удаленные процессы). В VS у меня есть стартовая страница в качестве URL удаленного сайта. Я начинаю без отладки, а затем присоединяюсь к w3wp.exe (s) на пульте. Это все?

1 Ответ

4 голосов
/ 22 декабря 2008

Работаете ли вы с веб-сайтом или веб-приложением (это скомпилированный проект, для которого вы развертываете DLL, или набор файлов aspx и aspx.cs, которые вы развертываете)?

Если это веб-приложение, вы развернули сборку выпуска или отладочную сборку? Вы не сможете достичь точек останова при «отладке» сборки релиза, так как код довольно сильно оптимизирован.

У вас установлено "debug = true" в разделе компиляции web.config? Если нет, то снова отладка будет трудной.

Наконец, следующие шаги, которые я использую при удаленной отладке:

  1. Развертывание последней отладочной сборки файлов
  2. Страница запроса на удаленном сервере для запуска / перезапуска приложения
  3. Убедитесь, что VS Remote Debugging Monitor запущен и работает на удаленном сервере
  4. В VS перейдите в Инструменты (или Отладка) | Присоединиться к процессу ..., убедитесь, что в квалификаторе выбран удаленный сервер, и выберите w3wp.exe для правильного пула приложений и т. Д.
  5. Запросить страницу, на которой будет срабатывать точка останова.
  6. Debug!

Если точки останова полые (тонкие красные кружки, а не заполненные диски), я часто проверяю окно стека в VS, чтобы увидеть, что загружено и не загружено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...