Ответ 1
Вот хорошая статья, чтобы сделать именно это:
http://msdn.microsoft.com/en-us/library/bt727f1t.aspx
Установите удаленные компоненты отладки на удаленном компьютере и запустите Remote Debugging Monitor (msvsmon.exe) при запуске отладки
Просто подумал, может ли кто-нибудь указать мне в правильном направлении?
Я пытаюсь отладить развернутое веб-приложение и не могу заставить приложение работать. Здесь сценарий:
VS2010, установленный на моей машине, со всем исходным кодом.
IE8 на моем компьютере, просматривающем сайт ASP.NET на сервере IIS (файлы FWIW.pdb на производственном сайте.)
Когда я прикрепляю отладчик к сеансу IE и продолжаю просмотр сайта, ни одна точка останова никогда не попадает... так что эффектно я не думаю, что я действительно отлаживаю сайт!??
Я предполагаю, что мне нужна какая-то удаленная отладка? Если это случай, если кто-нибудь знает какой-либо URL-адрес, чтобы помочь, это было бы высоко оценено!
Спасибо заранее!
Джим
Вот хорошая статья, чтобы сделать именно это:
http://msdn.microsoft.com/en-us/library/bt727f1t.aspx
Установите удаленные компоненты отладки на удаленном компьютере и запустите Remote Debugging Monitor (msvsmon.exe) при запуске отладки
Вот полное пошаговое руководство, потому что там много разрозненной информации, а связанная статья Microsoft предполагает много информации.
Сначала позвольте уточнить термины, используемые в остальной части руководства:
Клиент - это компьютер, на котором вы занимаетесь разработкой
Удаленный - это компьютер, на котором развернут код, работающий в IIS.
Установите файл msvsmon.exe (M ICRO сек часто V isual S tudio ПН itor) на удаленном компьютере.
Вы можете найти исполняемый файл, установленный с Visual Studio на вашем клиенте по следующему пути:
VS 2010: C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger\x86
VS 2017: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Packages\Debugger\X64
Когда инструмент запущен и работает, вы должны увидеть следующее приложение:
Монитор отладки создал сервер, к которому вы можете подключиться удаленно. Если вы работаете на компьютере с Windows, то имя, вероятно, [email protected]
. Запомните это имя, потому что оно понадобится вам позже. Если вы хотите скопировать его напрямую, вы можете перейти в Инструменты> Параметры, и вы увидите имя сервера. Вы можете даже изменить это на что-то другое, если хотите.
Отсюда вы можете попробовать подход с дробовиком и посмотреть, все ли работает, но в зависимости от конфигурации вашей сети могут возникнуть некоторые дополнительные ошибки. Чтобы попытаться отладить удаленно, откройте проект в Visual Studio. Это должен быть тот же самый проект, который развернут на IIS.
В Visual Studio вы захотите присоединиться к процессу на новом сервере. Перейдите в Инструменты> Присоединить к процессу или нажмите Ctrl + Alt + P
В диалоговом окне "Присоединить к процессу" измените Qualifier с вашего текущего имени компьютера на имя нового сервера ( [email protected]
) и нажмите Enter, чтобы увидеть список доступных процессов на удаленном компьютере:
Если все сразу возвращается, вы в хороших руках. Это означает, что не было никаких политик брандмауэра, препятствующих подключению к удаленному серверу, и вы можете перейти к шагу 6.
Кроме того, если вы получили следующее сообщение, это означает, что ваш брандмауэр блокирует связь клиента и удаленных ящиков.
Если вы не смогли подключиться, могут возникнуть проблемы в зависимости от политики вашего домена. Для официальных настроек брандмауэра вы можете проверить Microsoft Настроить брандмауэр Windows 7 для удаленной отладки, но я обнаружил, что его не хватает в деталях.
Если присоединение не удалось, но вы по-прежнему получаете сообщение, что пользователь подключился так:
Тогда это означает, что проблема не в исходящих правилах на клиенте или входящих правилах на удаленном сервере. Скорее всего, проблема связана с правилами для входящих подключений на клиентском компьютере.
Чтобы это исправить, на клиентском компьютере перейдите в Панель управления> Брандмауэр Windows> Дополнительные параметры, чтобы открыть брандмауэр Windows в режиме повышенной безопасности. Выберите Inbound Rules и щелкните правой кнопкой мыши, чтобы ввести новое правило:
Дайте правилу любое имя. Основываясь на рекомендациях в этом вопросе SO, вместо освобождения определенных портов мы разрешим прохождение всего трафика для любого исполняемого файла Visual Studio. Перейдите в раздел "Программы и службы" и выберите полный путь к папке для установки Visual Studio 2010: %ProgramFiles% (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe
Затем убедитесь, что правило применяется только к компьютерам в домене (убедитесь, что частные и общедоступные не отмечены).
Если вам повезет, когда вы вернетесь к процессу, вы сможете подключиться к удаленной машине.
На этом этапе вы должны увидеть список всех процессов на удаленной машине. Если вы хотите отладить приложение Windows, вам нужно просто выбрать название процесса. Для ASP.NET мы хотим подключиться к w3wp.exe(WWW W orker P rocess). Если вы не видите его в списке, попробуйте отключить сервер, открыв веб-страницу приложения, которое вы хотите отладить. Вы можете сделать это на локальном хосте или перейдя по адресу в IIS с любого компьютера.
Убедитесь, что вы приложили правильный тип кода для вашего приложения. Вы можете выбрать между "родным" (C++ и т.д.) Или "управляемым" (VB, С# и т.д.) Или выбрать автоматический и позволить Visual Studio решать.
Если вы получили следующую ошибку, я обнаружил, что повторное открытие Visual Studio и msvsmon.exe с правами администратора решило проблему
Вы увидите предупреждение безопасности, которое вы можете принять, нажав Прикрепить:
Последней проблемой, с которой я столкнулся, было получение файлов отладчика для загрузки. Вам необходимо убедиться, что выполняемые библиотеки точно соответствуют тем, которые в данный момент загружены в Visual Studio, и что они имеют правильные файлы .pdb в решении на клиентском компьютере. Вы можете проверить, какие модули были загружены и откуда они загружены, перейдя в "Отладка"> "Windows"> "Модули" или нажав Ctrl + Alt + U. Для получения дополнительной информации о загрузке файлов отладчика вы также можете попробовать любой из следующих ресурсов:
Надеюсь, что это работает и работает для вас на данный момент. Теперь вы можете перехватывать любые вызовы, сделанные в размещенном вами коде IIS, и выполнять их так же, как и во время разработки.
Дальнейшее чтение: