Déboguer à distance ASP.NET Core sur Azure App Service (Windows)
Cet article explique comment attacher le débogueur Visual Studio à une application ASP.NET Core s’exécutant sur Azure App Service. Les étapes ci-dessous vous permettent de déboguer l’application comme si elle s’exécutait localement.
Prérequis
Visual Studio 2022 avec les charges de travail Développement web et ASP.NET et Développement Azure installées.
Vous devez d’abord déployer une application ASP.NET Core pour Azure App Service (Windows) à partir de Visual Studio, et l’application doit être en cours d’exécution.
Pour obtenir une formation pratique qui inclut le déploiement App Service, consultez Déboguer à distance ASP.NET Core sur Azure.
Votre profil de publication dans Visual Studio doit être défini sur « Debug » au lieu de « Release » avant de publier.
Activer le débogage à distance
Avant de pouvoir déboguer ce problème avec Visual Studio, vous devez activer la fonctionnalité de débogage à distance sur l’instance App Service. Ce paramètre permet au débogueur Visual Studio de se connecter au processus d’hébergement web App Service principal.
Connectez-vous à votre propre portail Azure.
Localisez votre application déployée dans le portail Azure. Vous pouvez trouver votre application en accédant à la page App Services, puis en sélectionnant l’instance App Service. Vous pouvez également rechercher l’instance App Service directement par son nom dans la barre de recherche en haut. (Dans cet exemple, l’instance App Service est nommée GitHubBrowser123.)
Dans la page des paramètres de l’instance App Service, sélectionnez Configuration dans le volet de navigation de gauche, puis sélectionnez l’onglet Paramètres généraux.
En bas de la page, veillez à définir la fonctionnalité Débogage à distance sur Activé et sélectionnez Visual Studio 2022 comme Version Visual Studio distante.
Sélectionnez Enregistrer en haut de la page pour enregistrer les changements apportés.
Votre instance App Service prend maintenant en charge le débogage à distance via Visual Studio.
Configurer les paramètres de débogage
Générez votre application sans erreur. Arrêtez votre application si elle est en cours d'exécution localement.
Remarque
Vérifiez que l’état de votre code local correspond à ce qui a été déployé sur Azure. Cela garantit que les fichiers de symboles et le code source en local s’alignent sur l’application déployée.
Sélectionnez Déboguer > Options dans le menu supérieur de Visual Studio. Vérifiez que l’option Activer uniquement mon code n’est pas cochée (comme indiqué ci-dessous), puis sélectionnez OK.
La modification de ce paramètre permet à Visual Studio de déboguer le code optimisé déployé sur Azure à l’aide des fichiers de symboles nécessaires à partir de votre dossier bin local. Le débogueur se sert des fichiers de symboles comme d'un pont entre le code compilé, en cours d’exécution, et le code source dans Visual Studio. Les fichiers de symboles correspondants sont requis pour le débogage à distance.
Attacher le débogueur à App Service
Dans le menu principal en haut de Visual Studio, sélectionnez Déboguer > Attacher au processus pour ouvrir la boîte de dialogue correspondante. À l’aide de cette fenêtre, vous pouvez vous connecter et effectuer des attachements à différentes cibles. Dans ce cas, vous allez vous connecter à l’instance App Service que vous avez créée à l’étape précédente.
Sélectionnez la liste déroulante Type de connexion et choisissez l’option Microsoft Azure App Services.
Sélectionnez Rechercher... à côté du champ Cible de connexion pour ouvrir une boîte de dialogue vous permettant de parcourir vos abonnements et services d’application Azure.
Si vous n’êtes pas déjà connecté avec votre abonnement Azure, sélectionnez Rechercher..., puis connectez-vous.
Recherchez et sélectionnez l’instance App Service que vous avez créée à l’étape précédente, puis choisissez OK.
Le processus
w3wp.exe
doit apparaître dans la liste des processus disponibles auxquels il est possible de se connecter.w3wp.exe
est le processus principal de l'Azure App Service qui héberge l’application déployée. Sélectionnez le processusw3wp.exe
, puis choisissez Joindre en bas à droite.Dans un fichier d’application C# tel que
Index.cshtml.cs
, cliquez dans la marge gauche pour définir un point d’arrêt. Autre possibilité : cliquez avec le bouton droit et choisissez Point d’arrêt>Insérer un point d’arrêt.Dans l’application web, accédez au point de terminaison avec le point d’arrêt. Si vous êtes attaché au processus, mais que vous ne pouvez pas atteindre le point d’arrêt, assurez-vous que votre profil de publication dans Visual Studio est bien défini sur une configuration « Debug » et non pas « Release ».
Éventuellement, vous pouvez vérifier que Visual Studio a bien chargé les fichiers de symboles pour votre session de débogage. Accédez à Déboguer > Windows > Modules pour ouvrir la fenêtre Modules. Cette fenêtre indique que les fichiers de symboles ont été correctement chargés après les modifications que vous avez apportées précédemment à la configuration Uniquement mon code.
Remarque
Ensuite, pour déboguer le service d’application, sélectionnez Déboguer>Rattacher à w3wp.exe ou utilisez le raccourci Maj+Alt+P.