Отладка -> Присоединить к процессу из меню VS.
Чтобы узнать, к какому процессу w3wp.exe подключиться, вы можете использовать следующую команду на сервере 2008
c:\%systemroot%\system32\inetsrv\appcmd list wp
В то время как на Windows 2003 это
c:\%systemroot%\system32\cscript iisapp.vbs
Для получения дополнительной информации см. ПИД приложения IIS PID .
Однако, если у вас есть доступ к диспетчеру задач (taskmgr.exe), вы можете увидеть там непосредственно имя процесса вместе с идентификатором процесса, и в большинстве случаев столбец «имя пользователя» процесса будет одинаковым в качестве имени пула приложений (конечно, вы должны установить эти столбцы, чтобы они отображались в диспетчере задач для просмотра информации).
Но обратите внимание, что все методы будут отображать только те процессы, которые выполняются в данный момент, а это означает, что если ваш конкретный процесс завершил работу из-за простоя, вы должны сначала использовать сайт, чтобы запустить процесс в список.
Кроме того, если приложение представляет собой «Веб-сад» (в котором имеется более одного файла w3wp.exe), то даже после подключения к правильному процессу все еще нет гарантии, что точки останова будут достигнуты, поскольку трафик на сайт может быть направлено на другой процесс.
Также обратите внимание, что если вы подключаетесь к приложению, работающему в режиме выпуска, оно теперь будет работать в режиме отладки, что, например, означает, что не будет ограничений по времени ожидания (что может быть проблемой, если вы на самом деле пытается устранить ошибку тайм-аута).
Если вы хотите подключиться к удаленному процессу, рекомендуем вам:
- Убедитесь, что брандмауэр не блокирует, открыв соответствующие порты или полностью отключив его (просто не забудьте включить его снова, когда закончите).
- У вас должна быть учетная запись домена Windows с правами администратора на удаленном компьютере или учетная запись - с тем же именем пользователя и паролем, что и на локальном компьютере, на котором работает VS - на удаленном компьютере.
- На компьютере с установленным VS перейдите в (путь установки Visual Studio) \ Microsoft Visual Studio (номер текущей версии) \ Common7 \ IDE \ Remote Debugger (версия для удаленного компьютера) и скопируйте и вставьте эту папку на удаленный компьютер. или поделитесь этой папкой так, чтобы она была доступна с удаленного компьютера.
- На удаленном компьютере войдите в систему как тот же пользователь, что и на локальном компьютере (см. Шаг 2), перейдите к скопированной или общей папке на шаге 3, щелкните правой кнопкой мыши файл «msvsmon.exe» и выберите в контекстном меню «Запуск от имени администратора».
- Удаленный монитор должен запуститься и заявить, что он запускает сервер обычно под именем (user) @ (remote machine) или любым другим именем.
- В VS выберите Debug -> Attach To Process из меню, оставьте транспорт по умолчанию «Default», а для «Qualifier Name» введите имя с шага 5.
Если все пойдет правильно, появится список процессов на удаленном компьютере.
Конечно, в этой теме гораздо больше, и для отладки нативного кода процесс может быть еще проще, но шаги, которые я перечислил здесь, должны работать в каждом случае.
Более подробную информацию вы можете найти в http://www.codeproject.com/KB/aspnet/IISRemoteDebugging.aspx или в MSDN, а также во многих публикациях на этом сайте.
Надеюсь, это поможет.