processus w3wp introuvable


103

J'utilise Visual Studio 2010 pour déboguer un projet MVC asp.net sur ma machine locale. Les étapes sont:

Cliquez sur Déboguer et essayez d'attacher le processus "w3wp.exe". Cependant, ce n'est pas dans la liste.

Je suis sûr que vous avez cliqué sur "Afficher les processus dans toutes les sessions".


Si vous ne trouvez pas w3wp.exe, IIS n'est pas en cours d'exécution. Assurez-vous que le service d'administration IIS est démarré, que le service WWW est démarré, que le pool d'applications est démarré et que le site Web IIS lui-même est démarré.
Joel Etherton

Utilisez-vous IIS local ( w3wp.exe) ou VS Development Server ( WebDev.WebServer40.exe)? Vérifiez sous vos propriétés de projet -> onglet Web.
SliverNinja - MSFT

6
Avez-vous essayé de cocher l'option "Afficher le processus de tous les utilisateurs"?
Irvin Dominin

Voulez-vous dire aller au panneau de configuration puis démarrer IIS? Je ne peux pas le trouver.

2
Réponse dans stackoverflow.com/questions/4313206/... tl; dr? Le processus w3wp dort, alors actualisez la page dans le navigateur pour le réveiller et il devrait maintenant apparaître dans la liste.
Ruskin

Réponses:


178

w3wp.exe n'apparaîtra pas dans le processus en cours d'exécution 'à moins qu'une instance de l'application Web ne soit en cours d'exécution.

Essayez d'abord d'accéder à votre page Web, lorsqu'elle s'affiche pour la première fois, essayez de joindre votre débogueur. Le processus devrait maintenant apparaître.


4
Si vous avez actualisé la page depuis un certain temps, le processus est peut-être en veille. Réveillez-le avec un rafraîchissement.
Ruskin

Je veux me claquer de ne pas avoir eu ça la première fois
Mais je ne suis pas une classe Wrapper

1
Oui, le site aurait dû être en cours d'exécution au moment où vous essayez de vous attacher au processus. Il n'est pas nécessaire qu'il soit sur le même serveur.
Hash

8
Notez que dans Windows8 et 7, vous devez exécuter VS en tant qu'administrateur
Samih A

1
Tout avait bien, sauf cette partie.
Je

85

Vous devez cliquer sur Afficher les processus de tous les utilisateurs en bas de la liste du Gestionnaire des tâches. C'est ce que j'avais besoin de faire.


1
Cela a résolu mon problème. La raison est que dans IIS, le processus s'exécutait sous un pool d'applications et non sous mon utilisateur actuel.
L_7337

Parfait, c'est la réponse, si vous travaillez sur Windows 7
fizmhd

12
  1. Redémarrez IIS
  2. Faites un clic droit sur votre site >> Gérer le site Web >> Parcourir
  3. De retour dans Visual Studio, actualisez la liste des processus

Dépend du site, cela peut être Gérer le site Web ou Gérer l'application. Les deux démarreront le processus w3wp.exe.
Milton

Je n'ai même pas eu à redémarrer IIS ... J'ai juste suivi les étapes 2 et 3 et cela a fonctionné. :) Peut-être que la liste n'avait pas été actualisée.
thecoolmacdude

6

Essayez de cocher: "Afficher les processus pour tous les utilisateurs" Lorsque dans la fenêtre "Joindre au processus" en bas à gauche, il y a une case à cocher "Afficher les processus pour tous les utilisateurs"


2

Un moyen simple qui fonctionne, lorsque w3wp n'apparaît pas dans la liste, ouvrez un navigateur et écrivez localhost, puis entrez. Après cela, w3wp apparaît dans la liste.


1

Si vous utilisez quelque chose comme Advanced Rest Client pour tester des itinéraires, appelez à nouveau votre itinéraire, puis actualisez la liste des processus et il apparaîtra


1

Propriétés du projet Web GoTo -> Sélectionnez (Web) dans la barre latérale gauche -> GoTo sous l'en-tête (Serveurs) -> Cliquez pour le menu déroulant et sélectionnez "Local IIS"

et postuler. Ensuite, lorsque vous démarrez le débogage, vous verrez w3wp.exe dans la liste des processus.


1

Je viens de rencontrer ce problème - vous pouvez également vérifier vos paramètres d'hôte et vérifier que vous êtes réellement dirigé vers localhost et non vers un serveur de production.

J'ai oublié que j'avais été pointé vers un serveur distant, et donc, bien que j'accédais au site, ce n'était rien de local, donc w3wp ne fonctionnait pas, malgré ma capacité superficielle de voir le site fonctionner.


1

Dans mon cas, je n'ai pas ouvert Visual Studio en mode Admin, c'est pourquoi le w3wp.exe n'apparaissait pas dans la liste.

Lorsque j'ai ouvert Visual Studio en mode Admin, cela fonctionnait.

Cliquez avec le bouton droit sur Visual Studio -> Ouvrir en mode administrateur.


1

Dans mon cas, une fois que j'ai reconstruit le projet Web et augmenté la limite du délai de connexion (en secondes), il s'affiche automatiquement dans la liste Debug / Attach to Process et continue de fonctionner.


0

Je voudrais également partager mon expérience avec les futurs lecteurs.

Sachez que, dans le cas où vous avez une configuration de cluster de serveurs Web (pour l'équilibrage de charge, etc.), le w3wpprocessus peut ne pas démarrer sur la même machine que celle que vous attendez.

À moins que votre site Web ne soit configuré pour s'exécuter uniquement sur une seule instance IIS , lew3wp processus peut tourner sur l'une des autres machines à l'intérieur de votre cluster Web.

Il peut s'agir d'une configuration défectueuse de l'équipe / du service de mise en réseau ou d'un comportement prévu. Je n'ai pas l'expérience nécessaire pour déterminer exactement comment il doit être configuré.

Nous avons également trouvé une page associée sur MSDN:

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


0

Dans mon cas, je devais me connecter d'un Visual Studio au processus qui s'exécutait à partir d'une autre fenêtre VS studio.
Le problème était le suivant: un VS a été lancé avec des autorisations d'administrateur. Pour résoudre ce problème, vous devez lancer les deux VS avec Admin perm.


0

Dans mon cas, le problème était que je n'exécutais pas Visual Studio en tant qu'administrateur. Ma machine avait redémarré après une mise à jour et relancé tous les processus précédemment en cours d'exécution, mais n'avait relancé VS qu'en mode non-administrateur. Lorsque j'ai redémarré VS en mode administrateur, les processus w3wp.exe étaient à nouveau disponibles pour le débogage.


0

Exécutez le débogueur distant en tant qu'administrateur. J'ai suivi toutes les suggestions pour résoudre le problème, mais ce n'est que lorsque j'ai exécuté le débogueur distant en tant qu'administrateur que j'ai pu voir le processus w3wp


0

Essayez les étapes suivantes:

  1. Créez un chemin virtuel à partir de l'Explorateur de solutions.

  2. Accédez à inetmgr pour confirmer que votre propre pool est créé.

  3. Accédez à Joindre le processus (Ctrl + Alt + P) et affichez les processus pour tous les utilisateurs.

  4. Ensuite, vous verrez que w3wp.exe sera là.


0

Sachez que même après avoir franchi tous ces obstacles (lancer une instance à l'aide d'un navigateur Web, démarrer votre session de débogage à distance en tant qu'administrateur, vous assurer que «Afficher tous les utilisateurs» est coché, etc., vous assurer que vous n'êtes pas sur un serveur ferme, etc.), il se peut que vous n'ayez pas encore de chance.

Il y a des moments où le processus distant, généralement un service WCF dans mon cas, n'apparaîtra tout simplement pas dans la liste des processus auxquels s'attacher et il n'y a rien à faire à ce sujet. Je veille toujours à ce que mon processus cible soit facilement identifiable en le conservant et uniquement dans un certain pool d'applications. Parfois, vous ne pouvez tout simplement pas y arriver à partir d'ici. C'est sans aucun doute la chose la plus frustrante à propos du débogage à distance que Microsoft ait jamais faite.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.