Удаленная отладка серверной части веб-приложения с помощью Visual Studio 2008 с

Итак, я прочитал, что не стоит устанавливать VS2008 на мою тестовую серверную машину, поскольку она слишком сильно изменяет среду времени выполнения. Я никогда не пытался удаленной отладки с Visual Studio раньше, так что это "лучший" способ получить строку за строкой удаленной отладки кода веб-приложения на стороне сервера. Я хотел бы иметь возможность установить точку останова, прикрепить и начать шаг за шагом, чтобы проверить поток кода и, вы знаете, отладку и прочее :).

Я уверен, что большинство ответов будет относятся к ASP.NET код, и я заинтересован в этом, но моя текущая база кода на самом деле является классическими расширениями ASP и ISAPI, поэтому я забочусь об этом немного больше.

кроме того, мой тестовый сервер работает в VMWare, я заметил, что в последней VMWare install он упоминает что-то о поддержке отладки, но я не знаком с тем, что это значит...кто использует его, что он делает для вас?

2 ответов


во-первых, это намного проще, если сервер и ваша рабочая станция находятся в одном домене (сервер нуждается в доступе для подключения к вашей машине). В твоем C:\Program каталог Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86 (или x64, или ia64) - это файлы, которые необходимо скопировать на сервер. Между версиями Visual Studio существуют разные версии, поэтому убедитесь, что они совпадают на стороне клиента и сервера. На сервере запустите msvsmon. Он скажет что-то вроде " Msvsmon запустил новый сервер с именем xxx@yyyy". Это имя будет использоваться в Visual Studio для подключения к этому серверу. Вы можете перейти в Инструменты > Параметры, чтобы установить имя сервера и установить режим аутентификации (надеюсь, аутентификация Windows) - BTW никакая аутентификация не работает для управляемого кода.

на стороне клиента откройте Visual Studio и загрузите решение, которое вы собираетесь отлаживать. Затем перейдите в Debug > Attach to Process. В поле "квалификатор" введите имя сервера, как вы видели он появился раньше. Нажмите кнопку Выбрать и выберите тип кода, который вы хотите отладить, затем нажмите OK. Надеюсь, вы увидите список процессов на сервере, к которому вы можете подключиться (вы также должны увидеть на сервере, что монитор отладки только что сказал, что вы подключены). Найдите процесс для присоединения (при необходимости запустите приложение). Если это сайт ASP.NET вы бы выберите w3wp.exe, затем нажмите Attach. Установите точки останова и, надеюсь, теперь вы удаленно отлаживаете код.

AFAIK - опция VMWare позволяет запускать код внутри виртуальной машины, но отлаживать его с рабочей станции.


Visual Studio поставляется с удаленный отладчик что вы можете запустить как exe на вашем сервере. Он работает лучше всего, если вы можете запустить его как тот же пользователь домена, что и ваша копия visual studio. Затем можно выполнить присоединение к процессу из отладчика на компьютере к процессу IIS на сервере и выполнить отладку, как если бы он выполнялся на компьютере. Вы получаете больше возможностей для отладки .Net, но есть поддержка и для более старых платформ.