процесс 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.