Processo w3wp non trovato


103

Uso Visual Studio 2010 per eseguire il debug di un progetto asp.net MVC nella mia macchina locale. I passaggi sono:

Fare clic su Debug e provare ad attaccare il processo "w3wp.exe". Tuttavia non è nella lista.

Sono sicuro che si fa clic su "Mostra processi in tutte le sessioni".


Se non riesci a trovare w3wp.exe, IIS non è attualmente in esecuzione. Assicurati che il servizio di amministrazione di IIS sia avviato, il servizio WWW sia avviato, il pool di applicazioni sia avviato e lo stesso sito web di IIS.
Joel Etherton

Stai usando IIS locale ( w3wp.exe) o VS Development Server ( WebDev.WebServer40.exe)? Controlla nelle proprietà del progetto -> scheda Web.
SliverNinja - MSFT

6
Hai provato a selezionare l'opzione "Mostra processo da tutti gli utenti"?
Irvin Dominin

Intendevi andare al pannello di controllo e poi avviare IIS? Non riesco a trovarlo.

2
Rispondi in stackoverflow.com/questions/4313206/… tl; dr? Il processo w3wp è inattivo, quindi aggiorna la pagina nel browser per riattivarlo e ora dovrebbe apparire nell'elenco.
Ruskin

Risposte:


178

w3wp.exe non verrà visualizzato nel processo in esecuzione "a meno che non sia effettivamente in esecuzione un'istanza dell'applicazione Web.

Prova ad accedere prima alla tua pagina web, quando viene visualizzata per la prima volta, prova ad allegare il tuo debugger. Il processo dovrebbe ora essere visualizzato.


4
Se è passato un po 'di tempo da quando hai aggiornato la pagina, il processo potrebbe essere inattivo. Sveglialo con una rinfrescata.
Ruskin

Voglio schiaffeggiarmi per non averlo ottenuto la prima volta
Ma non sono una classe wrapper

1
Sì, il sito avrebbe dovuto essere in esecuzione nel momento in cui hai tentato di collegarti al processo. Non deve essere sullo stesso server.
Hash

8
Nota che in Windows 8 e 7, devi eseguire VS come amministratore
Samih A

1
Aveva tutto a posto, tranne questa parte. Non avevo idea che il processo non fosse continuamente in esecuzione
user919426

85

È necessario fare clic su Mostra processi da tutti gli utenti nella parte inferiore dell'elenco Task Manager. Questo è quello che dovevo fare.


1
Questo ha risolto il mio problema. Il motivo è in IIS, il processo era in esecuzione in un pool di app e non nel mio utente corrente.
L_7337

Perfetta questa è la risposta, se stai lavorando su Windows 7
fizmhd

12
  1. Riavvia IIS
  2. Fare clic con il pulsante destro del mouse sul sito >> Gestisci sito Web >> Sfoglia
  3. Di nuovo in Visual Studio, aggiorna l'elenco dei processi

A seconda del sito, potrebbe essere Gestisci sito web o Gestisci applicazione. Entrambi avvieranno il processo w3wp.exe.
Milton

Non ho nemmeno dovuto riavviare IIS ... Ho appena seguito i passaggi 2 e 3 e ha funzionato. :) Forse l'elenco non è stato aggiornato.
thecoolmacdude

6

Prova a selezionare: "Mostra processi per tutti gli utenti" Quando nella finestra "Allega al processo" in basso a sinistra è presente una casella di controllo "Mostra processi per tutti gli utenti"


2

Un modo semplice che funziona, quando w3wp non appare nell'elenco, apri un browser e scrivi localhost, quindi inserisci. Dopo che w3wp appare nell'elenco.


1

Se stai usando qualcosa come Advanced Rest Client per testare i percorsi, chiama di nuovo il tuo percorso, quindi aggiorna l'elenco dei processi e verrà visualizzato


1

Proprietà del progetto GoTo Web -> Seleziona (Web) nella barra laterale sinistra -> Vai a sotto l'intestazione (Server) -> Fai clic per menu a discesa e seleziona "Local IIS"

e applicare. Quindi, quando avvii il debug vedrai w3wp.exe nell'elenco dei processi.


1

Mi sono appena imbattuto in questo problema: potresti anche voler ricontrollare le impostazioni dell'host e verificare di essere effettivamente indirizzato a localhost e non a un server di produzione.

Dimenticavo di essere stato indirizzato a un server remoto e quindi, sebbene stavo accedendo al sito, non era nulla di locale, quindi w3wp non era in esecuzione, nonostante fossi in grado di vedere superficialmente il sito in esecuzione.


1

Nel mio caso, non ho aperto Visual Studio in modalità amministratore, motivo per cui w3wp.exe non veniva visualizzato nell'elenco.

Quando ho aperto Visual Studio in modalità amministratore, ha funzionato.

Fare clic con il tasto destro su Visual Studio -> Apri in modalità amministratore.


1

Nel mio caso, una volta ricostruito il progetto web e aumentato il limite di Connection Timeout (in secondi), viene visualizzato automaticamente nell'elenco Debug / Allega al processo e continua a funzionare.


0

Vorrei solo condividere la mia esperienza anche per i futuri lettori.

Tieni presente che, nel caso in cui disponi di una configurazione del cluster di server Web (per il bilanciamento del carico, ecc.), Il w3wpprocesso potrebbe non iniziare sulla stessa macchina che ti aspetti.

A meno che il tuo sito web non sia configurato per essere eseguito solo su una singola istanza IIS , il w3wpprocesso potrebbe essere avviato su una delle altre macchine all'interno del tuo cluster web.

Potrebbe trattarsi di una configurazione errata del team / reparto di rete o del comportamento previsto. Non ho l'esperienza necessaria per individuare esattamente come dovrebbe essere configurato.

Trovata anche una pagina correlata su MSDN:

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


0

Nel mio caso, avevo bisogno di connettermi da un Visual Studio al processo in esecuzione da un'altra finestra di VS Studio.
Il problema era successivo: un VS veniva avviato con autorizzazioni di amministratore. Per risolvere il problema, è necessario avviare entrambi VS con perm.


0

Nel mio caso, il problema era che non stavo eseguendo Visual Studio come amministratore. La mia macchina si era riavviata dopo un aggiornamento e riavviato tutti i processi in esecuzione in precedenza, ma aveva riavviato VS solo in modalità non amministratore. Quando ho riavviato VS in modalità amministratore, i processi w3wp.exe erano di nuovo disponibili per il debug.


0

Esegui il debugger remoto come amministratore. Ho seguito ogni suggerimento per risolvere il problema, ma è stato solo quando ho eseguito il debugger remoto come amministratore che sono stato in grado di vedere il processo w3wp


0

Prova i seguenti passaggi:

  1. Crea un percorso virtuale da Esplora soluzioni.

  2. Vai a inetmgr per confermare che il tuo pool è stato creato.

  3. Vai ad Allega processo (Ctrl + Alt + P) e mostra i processi per tutti gli utenti.

  4. Quindi vedrai che w3wp.exe sarà lì.


0

Tieni presente che anche dopo aver superato tutti questi ostacoli (avvio di un'istanza utilizzando un browser web, avvio della sessione di debug remoto come amministratore, verifica che "mostra tutti gli utenti" sia selezionato, ecc., Assicurandoti di non essere su un server fattoria, ecc.), a volte potresti essere ancora sfortunato.

Ci sono momenti in cui il processo remoto, di solito un servizio WCF nel mio caso, semplicemente non verrà visualizzato nell'elenco dei processi a cui collegarsi e non è possibile fare nulla al riguardo. Sono sempre attento a rendere il mio processo di destinazione facilmente identificabile mantenendolo e solo in un determinato pool di app. A volte non puoi arrivarci da qui. Questa è senza dubbio la cosa più frustrante del debug remoto che Microsoft abbia mai fatto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.