процесс w3wp не найден


103

Я использую Visual Studio 2010 для отладки проекта asp.net MVC на моем локальном компьютере. Шаги следующие:

Нажмите «Отладка» и попробуйте подключить процесс «w3wp.exe». Однако его нет в списке.

Я уверен, что нажата кнопка «Показать процессы во всех сеансах».


Если вы не можете найти w3wp.exe, значит, IIS в данный момент не запущен. Убедитесь, что служба IIS Admin запущена, служба WWW запущена, пул приложений запущен и сам веб-сайт IIS запущен.
Joel Etherton

Вы используете локальный IIS ( w3wp.exe) или VS Development Server ( WebDev.WebServer40.exe)? Проверьте свои свойства проекта -> вкладка Интернет.
SliverNinja - MSFT

6
Вы пробовали установить флажок «Показать процесс от всех пользователей»?
Ирвин Доминин

Вы имели в виду перейти в панель управления и запустить IIS? Я не могу его найти.

2
Ответ на stackoverflow.com/questions/4313206/… tl; dr? Процесс w3wp спит, поэтому обновите страницу в браузере, чтобы его разбудить, и теперь он должен появиться в списке.
Ruskin

Ответы:


178

w3wp.exe не будет отображаться в запущенном процессе, если фактически не запущен экземпляр веб-приложения.

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


4
Если с момента обновления страницы прошло некоторое время, возможно, процесс находится в спящем режиме. Разбуди его с обновлением.
Ruskin

Я хочу отшлепать себя за то, что не получил это с первого раза
Но я не класс Wrapper

1
Да, сайт должен был работать в то время, когда вы пытаетесь подключиться к процессу. Он не обязательно должен быть на одном сервере.
Хэш,

8
Обратите внимание, что в Windows 8 и 7 вам нужно запускать VS от имени администратора
Samih A

1
Все было правильно, кроме этой части. Понятия не имел, что процесс не работает постоянно
user919426

86

Вам нужно нажать Показать процессы от всех пользователей внизу списка диспетчера задач. Это то, что мне нужно было сделать.


1
Это решило мою проблему. Причина в том, что в IIS процесс выполнялся под пулом приложений, а не под моим текущим пользователем.
L_7337


12
  1. Перезагрузите IIS
  2. Щелкните свой сайт правой кнопкой мыши >> Управление веб-сайтом >> Обзор
  3. Вернитесь в Visual Studio, обновите список процессов

В зависимости от сайта, это может быть «Управление веб-сайтом» или «Управление приложением». Оба запустят процесс w3wp.exe.
Милтон

Мне даже не пришлось перезапускать IIS ... Я просто выполнил шаги 2 и 3, и это сработало. :) Возможно, список не обновился.
thecoolmacdude

6

Попробуйте установить флажок: «Показать процессы для всех пользователей». Когда в окне «Присоединить к процессу» в левом нижнем углу есть флажок «Показать процессы для всех пользователей»


2

Простой способ, который работает: когда w3wp не отображается в списке, откройте браузер и введите localhost, затем введите. После этого w3wp появится в списке.


1

Если вы используете что-то вроде Advanced Rest Client для тестирования маршрутов, вызовите свой маршрут еще раз, затем обновите список процессов, и он появится


1

Свойства веб-проекта GoTo -> Выбрать (Интернет) на левой боковой панели -> Перейти к заголовку (Серверы) -> Щелкните, чтобы раскрыть список, и выберите "Local IIS"

и подать заявку. Затем, когда вы начнете отладку, вы увидите w3wp.exe в списке процессов.


1

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

Я забыл, что указывал на удаленный сервер, и поэтому, хотя я обращался к сайту, это не было чем-то локальным, поэтому w3wp не работал, несмотря на то, что я внешне мог видеть, что сайт работает.


1

В моем случае я не открывал Visual Studio в режиме администратора, поэтому файл w3wp.exe не отображался в списке.

Когда я открыл Visual Studio в режиме администратора, все заработало.

Щелкните правой кнопкой мыши Visual Studio -> Открыть в режиме администратора.


1

В моем случае, как только я перестраиваю веб-проект и увеличиваю предел времени ожидания подключения (в секундах), он автоматически отображается в списке «Отладка / присоединение к процессу» и продолжает работать.


0

Я просто хотел бы поделиться своим опытом и с будущими читателями.

Имейте в виду, что в случае, если у вас есть конфигурация кластера веб-сервера (для балансировки нагрузки и т. Д.), w3wpПроцесс может не запускаться на том же компьютере, на котором вы его ожидаете.

Если ваш веб-сайт не настроен для работы только на одном экземпляре IIS ,w3wp процесс может одной из других машин внутри вашего веб-кластера.

Это может быть неправильная конфигурация сетевой группы / отдела или предполагаемое поведение. У меня нет необходимого опыта, чтобы точно указать, как это должно быть настроено.

Нашел также связанную страницу в MSDN:

https://msdn.microsoft.com/en-us/library/bb742600.aspx


0

В моем случае мне нужно было подключиться из одной Visual Studio к процессу, который запускается из другого окна VS studio.
Проблема была следующая: одна VS была запущена с правами администратора. Для решения этой проблемы вы должны запустить оба VS с правами администратора.


0

В моем случае проблема заключалась в том, что я не запускал Visual Studio от имени администратора. Моя машина перезапустилась после обновления и перезапустила все ранее запущенные процессы, но только перезапустила VS в режиме без прав администратора. Когда я перезапустил VS в режиме администратора, процессы w3wp.exe снова стали доступны для отладки.


0

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


0

Попробуйте выполнить следующие действия:

  1. Создайте виртуальный путь из обозревателя решений.

  2. Перейдите в inetmgr, чтобы убедиться, что ваш собственный пул создан.

  3. Перейдите в Attach Process (Ctrl + Alt + P) и покажите процессы для всех пользователей.

  4. Затем вы увидите, что там будет w3wp.exe.


0

Имейте в виду, что даже после прохождения всех этих обручей (запуск экземпляра с помощью веб-браузера, запуск сеанса удаленной отладки в качестве администратора, проверка флажка «Показать всех пользователей» и т. Д., Гарантируя, что вы не на сервере ферма и т. д.), иногда вам все равно может не повезти.

Бывают случаи, когда удаленный процесс, обычно это служба WCF в моем случае, просто не отображается в списке процессов, к которым нужно подключиться, и с этим ничего нельзя поделать. Я всегда стараюсь сделать свой целевой процесс легко идентифицируемым, сохраняя его и только в определенном пуле приложений. Иногда отсюда просто не добраться. Это, несомненно, самая неприятная вещь в удаленной отладке, которую когда-либо делала Microsoft.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.