Partager via


Déboguer ASP.NET Core à distance dans 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 suivantes vous permettent de déboguer l’application comme si elle s’exécute localement.

Prerequisites

  • Visual Studio 2022 avec les ASP.NET et développement web et la charge de travail Azure installée.

  • Vous devez d’abord déployer une application ASP.NET Core sur Azure App Service (Windows) à partir de Visual Studio, et l’application doit être en cours d’exécution.

  • Votre profil de publication dans Visual Studio doit être configuré sur "Debug" au lieu de "Release" avant la publication.

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 App Service. Ce paramètre permet au débogueur Visual Studio de se connecter au processus d’hébergement web App Service principal.

  1. Connectez-vous à votre propre portail Azure.

    Recherchez 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 nom dans la barre de recherche en haut. (Dans cet exemple, l’instance App Service est nommée GitHubBrowser123.)

    Capture d’écran de la recherche Azure.

  2. Dans la page paramètres de l’instance App Service, sélectionnez Configuration dans le volet de navigation gauche, puis choisissez l’onglet Paramètres généraux .

  3. En bas de la page, veillez à définir la fonctionnalité Débogage à distancesur Activé et sélectionnez Visual Studio 2022 comme version de Visual Studio distante.

    Capture d’écran des paramètres de débogage distant Azure.

  4. Sélectionnez Enregistrer en haut de la page pour conserver vos modifications.

Votre instance App Service prend désormais en charge le débogage à distance via Visual Studio.

Configurer les paramètres de débogage

  1. Générez votre application sans erreur. Arrêtez votre application si elle s’exécute localement.

    Note

    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 locaux et le code source correspondent à l’application déployée.

  2. Sélectionnez Options de débogage > dans le menu supérieur de Visual Studio. Vérifiez que l’option Activer uniquement mon code est décochée (comme illustré dans l’illustration suivante), 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. Les fichiers de symboles sont utilisés par le débogueur comme pont entre le code compilé, l’exécution de code et le code source dans Visual Studio. Les fichiers de symboles correspondants sont requis pour le débogage à distance.

    Capture d’écran des paramètres de débogage de Visual Studio.

    Capture d’écran des paramètres de débogage de Visual Studio.

Attacher le débogueur à App Service

  1. Dans le menu principal en haut de Visual Studio, sélectionnez Déboguer > Attacher à un processus pour ouvrir la boîte de dialogue correspondante. À l’aide de cette fenêtre, vous pouvez vous connecter et l’attacher à différentes cibles. Dans ce cas, vous allez vous connecter à l’instance App Service que vous avez créée à l’étape précédente.

  2. Sélectionnez la liste déroulante Type de connexion et choisissez l’option Microsoft Azure App Services .

  3. Sélectionnez Find.. en regard du champ Cible de connexion pour ouvrir une boîte de dialogue qui vous permet de parcourir vos abonnements Azure et vos services d’application.

    Si vous n’êtes pas déjà connecté avec votre abonnement Azure, sélectionnez Rechercher... puis vous pouvez vous connecter.

  4. Recherchez et sélectionnez l’instance App Service que vous avez créée à l’étape précédente, puis choisissez OK.

  5. Le w3wp.exe processus doit apparaître dans la liste des processus disponibles pour se connecter. w3wp.exe est le processus principal d’Azure App Service qui héberge l’application déployée. Sélectionnez le w3wp.exe processus, puis choisissez Attacher en bas à droite.

    Capture d’écran de l’attachement au processus.

  6. Dans un fichier d’application C# tel que Index.cshtml.cs, définissez un point d'arrêt en cliquant dans la marge gauche. Vous pouvez également cliquer avec le bouton droit et choisirPoint d’arrêt Insérer un point> d’arrêt.

  7. Dans l’application web, accédez à l'endpoint avec le breakpoint. Si vous êtes attaché au processus mais que vous ne pouvez pas atteindre le point d’arrêt, vérifiez que votre profil de publication dans Visual Studio est défini sur une configuration de débogage au lieu d’une configuration Release.

  8. Facultatif : Pour vérifier que Visual Studio a chargé les fichiers de symboles pour votre session de débogage. Accédez à Déboguer > les modules Windows > 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 à la configuration Just my code précédemment.

    Capture d’écran de la fenêtre fichiers de symboles.

Note

Pour le débogage ultérieur du service d’application, sélectionnez la sélection Debug>Reattach to w3wp.exe ou utilisez les touches chaudes Maj+Alt+P.