Вот полное пошаговое руководство, потому что там много разрозненной информации, а связанная статья Microsoft предполагает много информации.
Установить msvsmon.exe ( M микро s oft V isual S tudio Mon itor) на удаленном компьютере.
Вы можете найти исполняемый файл, установленный с Visual Studio на вашем клиенте, по следующему пути:
<b>VS 2010</b>: C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger\x86
<b>VS 2017</b>: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Packages\Debugger\X64
Когда инструмент запущен и работает, вы должны увидеть следующее приложение:
Монитор отладки создал сервер, к которому вы можете подключиться удаленно.Если вы работаете на компьютере с Windows, имя, вероятно, User@Remote
.Запомните это имя, потому что оно понадобится вам позже.Если вы хотите скопировать его напрямую, вы можете перейти в Инструменты> Параметры, и вы увидите имя сервера.Вы можете даже изменить его на что-то другое, если хотите.
Отсюда вы можете попробовать подход с дробовиком и посмотреть, все ли работает, но в зависимости от конфигурации вашей сети могут быть некоторые дополнительныеикота.Чтобы попытаться отладить удаленно, откройте проект в Visual Studio.Это должен быть тот же самый проект, который развернут в IIS.
В Visual Studio вы захотите подключиться к процессу на новом сервере.Перейдите в Инструменты> Присоединить к процессу или нажмите Ctrl + Alt + P
В диалоговом окне «Присоединить к процессу» измените квалификатор с имени вашего текущего компьютера на имя нового сервера (<i>User@Remote</i>
) и нажмите клавишу ввода, чтобы просмотреть список доступных процессов на удаленном компьютере:
Если все сразу возвращается, вы в хороших руках.Это означает, что не было никаких политик брандмауэра, препятствующих соединению с удаленным сервером, и вы можете перейти к шагу 6.
В качестве альтернативы, если вы получили следующее сообщение, это означает, что ваш брандмауэр блокирует клиентские и удаленные блокиот общения.
Если вы не смогли подключиться, может возникнуть ряд проблем в зависимости от политики вашего домена.Для официальных настроек брандмауэра вы можете проверить Microsoft Настроить брандмауэр Windows 7 для удаленной отладки , но я обнаружил, что его не хватает в деталях.
Если подключение не удалось, но вы все равно получаетесообщение, которое пользователь подключил так:
Тогда это означает, что проблема не в исходящих правилах на клиенте или входящих правилах на удаленном сервере.Скорее всего, проблема связана с правилами входящих сообщений на клиентском компьютере.
Чтобы исправить это, на клиентском компьютере перейдите в Панель управления> Брандмауэр Windows> Расширенные настройки, которая должна открыть Брандмауэр Windows в режиме повышенной безопасности .Выберите Входящие правила и щелкните правой кнопкой мыши, чтобы ввести Новое правило :
Дайте правилу любое имя.Исходя из рекомендаций в этом вопросе , вместо исключения отдельных портов мы разрешим прохождение всего трафика для любого исполняемого файла 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, C # и т. Д.) Или выбрать автоматический и позволить Visual Studio принять решение.
Если вы получите следующую ошибку, яобнаружил, что повторное открытие Visual Studio и msvsmon.exe с правами администратора устранило проблему
Вы увидите предупреждение безопасности, которое вы можете принять, нажав Attach :
Последней проблемой, с которой я столкнулся, было получение файлов отладчика для загрузки.Вам необходимо убедиться, что выполняемые библиотеки в точности соответствуют тем, которые в данный момент загружены в Visual Studio, и что они имеют правильные файлы .pdb в решении на клиентском компьютере.Вы можете проверить, какие модули были загружены и откуда они загружены, перейдя в «Отладка»> «Windows»> «Модули» или нажав Ctrl + Alt + U .Для получения дополнительной информации о загрузке файлов отладчика вы также можете попробовать любой из следующих ресурсов:
Надеюсь, он работает и работает для вас на данный момент,Теперь вы можете перехватывать любые вызовы, сделанные в ваш размещенный в IIS код, и выполнять их так же, как и во время разработки.