Erreur : impossible de démarrer le débogage sur le serveur Web
Mise à jour : novembre 2007
Lorsque vous essayez de déboguer une application exécutée sur un serveur Web, le message d'erreur suivant peut parfois s'afficher :
Unable to start debugging on the Web server
Si le message qui s'affiche est plus long, il est recouvert par une des sous-rubriques de celui-ci.
Si cette erreur se produit, plusieurs points sont à prendre en compte : En premier lieu, rendez-vous sur Éléments à vérifier, puis examinez les éléments restants basés sur votre configuration matérielle et logicielle.
Éléments à vérifier
Applications Web sur des serveurs distants
Applications Web stockées dans Visual SourceSafe et utilisation des extensions serveur FrontPage
Attachement manuel
La demande de débogage n'a pas pu être traitée par le serveur en raison d'une syntaxe non valide
Éléments à vérifier
Essayez de vérifier les éléments suivants :
Examinez les procédures de paramétrage de ASP.NET ou ATL Server. Pour plus d'informations, consultez Préparation d'un débogage ASP.NET.
Disposez-vous des privilèges d'accès nécessaires pour déboguer ? Pour plus d'informations, consultez la section Conditions de sécurité dans Débogage ASP.NET : configuration requise.
Exécutez-vous une version de Windows qui permet l'attachement automatique du débogueur Visual Studio à une application Web ? Si tel n'est pas le cas, vous devez lancer l'application sans déboguer et l'attacher manuellement. (Pour plus d'informations, consultez Attachement manuel et Débogage ASP.NET : configuration requise).
Votre application Web dispose-t-elle d'un fichier Web.config ?
Est-ce que le fichier Web.config active le mode débogage en affectant la valeur true à l'attribut debug ? Pour plus d'informations, consultez Comment : activer le débogage pour les applications ASP.NET.
Le fichier Web.config contient-il des erreurs de syntaxe ? Vous pouvez rechercher les erreurs de syntaxe en exécutant l'application Web sans déboguer. (Dans le menu Déboguer, choisissez Exécuter sans débogage). Si le fichier Web.config contient des erreurs de syntaxe, des informations détaillées s'affichent.
Avez-vous créé le projet en indiquant une adresse IP spécifique (100.20.300.400, par exemple) ? Le débogage d'un serveur Web nécessite l'authentification NTLM. Par défaut, les adresses IP sont supposées faire partie d'Internet et l'authentification NTLM ne s'effectue pas via Internet. Pour résoudre ce problème :
Lors de la création du projet, indiquez le nom de l'ordinateur sur votre intranet.
- ou -
Ajoutez l'adresse IP (http://100.20.300.400) à la liste des sites de confiance sur votre ordinateur. (Dans le menu Outils d'Internet Explorer, choisissez Options Internet, puis sélectionnez l'onglet Sécurité).
Les extensions nécessaires sont-elles enregistrées sur l'ordinateur serveur ? Si tel n'est pas le cas, réinscrivez ASP.NET comme décrit dans la procédure ci-dessous.
IIS a-t-il été installé sur l'ordinateur local (l'ordinateur qui exécute Visual Studio) après que Visual Studio ait été installé ? IIS doit être installé avant Visual Studio. S'il a été installé après, vous pouvez avoir à réinscrire ASP.NET.
Réinscrire ASP.NET
À partir d'une fenêtre d'invite de commandes, exécutez la commande suivante : systemroot\Microsoft.NET\Framework\ versionNumber \aspnet_regiis -i
Remarque : sur Windows Server 2003, vous pouvez installer ASP.NET à l'aide de l'application Ajout/Suppression de programmes du Panneau de configuration.
Insérez le disque de Visual Studio, lancez le programme d'installation et choisissez Réparer/Réinstaller. Cette étape créera le partage wwwroot $ et ajoutera les autorisations appropriées.
Est-ce que l'URL de la page de démarrage du projet est correctement indiquée ? Est-ce que l'extension et le répertoire du projet sont corrects ?
Vérifiez les paramètres IIS de l'application Web. Pour plus d'informations, consultez Comment : vérifier les paramètres des propriétés IIS.
Si deux versions du .NET Framework sont installées sur le serveur Web, assurez-vous que la version appropriée est définie dans les paramètres IIS. Pour plus d'informations, consultez Comment : vérifier les paramètres des propriétés IIS.
Applications Web sur des serveurs distants
Si l'application Web se trouve sur un serveur distant, commencez par vous assurer que vous avez vérifié les éléments listés dans Éléments à vérifier. Procédez ensuite aux vérifications suivantes :
Les composants distants de Visual Studio sont-ils installés sur l'ordinateur qui exécute le serveur IIS ? Pour plus d'informations, consultez Préparation d'un débogage ASP.NET.
Disposez-vous des privilèges d'accès nécessaires pour déboguer ? Pour plus d'informations, consultez la section Conditions de sécurité dans Débogage ASP.NET : configuration requise.
Utilisez-vous Terminal Server pour essayer de déboguer une application Web sur un ordinateur distant ? Le débogage distant d'applications Web natives à l'aide de Terminal Server est pris en charge sous Windows XP. Il n'est pas pris en charge sous Windows 2000 ou Windows NT.
Applications Web stockées dans Visual SourceSafe et utilisation des extensions serveur FrontPage
Si l'application Web est stockée dans Visual SourceSafe et utilise les extensions serveur FrontPage comme mode d'accès au Web, vérifiez les éléments suivants :
- Visual SourceSafe est-il situé sur le même ordinateur que le serveur FrontPage/Web ? Si tel est le cas, vous pouvez procéder au débogage en utilisant l'authentification intégrée. Pour vérifier le paramètre Authentification intégrée, consultez la procédure Vérifier les paramètres de sécurité IIS pour l'application Web, située à la rubrique : Comment : vérifier les paramètres des propriétés IIS.
La demande de débogage n'a pas pu être traitée par le serveur en raison d'une syntaxe non valide
Parfois, le serveur ne peut pas traiter la demande de débogage parce que la syntaxe est erronée. Une demande formulée avec une mauvaise syntaxe peut provenir d'erreurs dans le fichier machine.config. Si le fichier machine.config affecte à maxRequestLength une valeur ridiculement élevée (40 960 000, par exemple), cette erreur se produira.
Attachement manuel
Si vous suivez les étapes de dépannage et obtenez toujours un message d'erreur lorsque vous commencez le débogage, vous pouvez essayer de déboguer votre application en utilisant l'attachement manuel.
Pour attacher manuellement
Démarrez l'application sans débogage. (Dans le menu Déboguer, choisissez Exécuter sans débogage.)
Déterminez le nom du processus IIS ou du processus de travail approprié. Les applications ATL Server sont nommées inetinfo.exe par défaut. Pour déterminer le nom du processus de travail de ASP.NET, consultez Comment : rechercher le nom du processus ASP.NET.
Utilisez l'une des procédures suivantes pour identifier le processus sous lequel s'exécute une application ASP.NET ou ATL Server.
Procédez à l'attachement au processus déterminé par l'étape précédente. Pour plus d'informations, consultez Comment : attacher à un processus en cours d'exécution.
Pour vérifier le processus sous lequel s'exécute une application ASP.NET
Utilisez Visual Studio ou un autre éditeur de texte pour ouvrir le fichier machine.config de l'application.
À l'intérieur du nœud system.web, recherchez le nœud ProcessModel et examinez son attribut enable:
Si enable a la valeur TRUE, l'application s'exécute sous aspnet_wp.exe ou w3wp.exe. (Il s'agit également du paramètre par défaut.)
Si enable a la valeur FALSE, l'application s'exécute sous inetinfo.exe.
Pour vérifier le processus sous lequel s'exécute une application ATL Server
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nom du projet, puis choisissez Propriétés dans le menu contextuel.
Dans la boîte de dialogue Pages de propriétés de <Projet>, ouvrez le dossier Déploiement Web, puis choisissez Général.
Examinez le paramètre Application Protection.
Si ce paramètre a la valeur Basse (processus IIS), l'application s'exécute sous inetinfo.exe.
Si ce paramètre a la valeur Moyenne (En file d'attente), l'application s'exécute sous un processus dllhost.exe (avec d'autres applications ATL Server regroupées).
Si ce paramètre a la valeur Haute (isolée), l'application s'exécute sous un processus dllhost.exe (séparée des autres applications ATL Server).
Cliquez sur OK pour fermer la boîte de dialogue Pages de propriétés de <Projet>.
Voir aussi
Tâches
Erreur : le serveur Web n'a pas trouvé la ressource demandée
Référence
Débogage d'applications Web : erreurs et dépannage