Présentation
Cette page explique comment configurer l'environnement et l'application .NET Core pour qu'ils utilisent Cloud Debugger.
Pour certains environnements, vous devez spécifier explicitement le champ d'application d'accès pour permettre à l'agent Cloud Debugger d'envoyer des données.
Nous vous recommandons de définir le niveau d'accès le plus large possible, puis d'utiliser Identity and Access Management pour limiter l'accès.
Conformément à cette bonne pratique, définissez le niveau d'accès sur toutes les API Cloud avec l'option cloud-platform
.
Versions de langages et environnements de calcul
Cloud Debugger est disponible pour .NET Core 1.0 à 2.1 dans les environnements de calcul suivants :
Environnement standard App Engine | Environnement flexible App Engine | Compute Engine | Google Kubernetes Engine | Cloud Run | Cloud Run for Anthos | VM et conteneurs s'exécutant ailleurs | Cloud Functions |
---|---|---|---|---|---|---|---|
Configurer Cloud Debugger
Pour configurer Cloud Debugger, procédez comme suit :
Vérifiez que l'API Cloud Debugger est activée pour votre projet.
Installez et configurez le Debugger sur l'environnement de calcul que vous utilisez.
Sélectionnez votre code source.
Vérifier que l'API Cloud Debugger est activée
Pour commencer à utiliser Cloud Debugger, assurez-vous que l'API Cloud Debugger est activée. Cloud Debugger est activé par défaut pour la plupart des projets.Activer l'API Cloud Debugger
Environnement standard App Engine
L'agent Cloud Debugger pour .NET Core n'est pas disponible dans l'environnement App Engine.
Environnement flexible App Engine
Dans le fichier app.yaml, remplacez
runtime
parcustom
:runtime: custom env: flex
Utilisez un fichier Dockerfile personnalisé :
FROM gcr.io/dotnet-debugger/aspnetcore:2.0 COPY . /app WORKDIR /app # If you don't have source context delete the below line. # See 'Selecting source code automatically' below for more information. COPY ./source-context.json /usr/share/dotnet-debugger/agent/ ENTRYPOINT ["/usr/share/dotnet-debugger/start-debugger.sh", "dotnet", "APPLICATION.dll"]
Où :
APPLICATION
est le binaire que vous souhaitez exécuter et déboguer.
La suite Google Cloud Operations est maintenant prête à être utilisée avec l'application.
Pour découvrir comment afficher automatiquement le code source correspondant à l'application déployée sur la page "Débogage" de Google Cloud Console, consultez la page Sélectionner automatiquement le code source.
Google Kubernetes Engine
GCLOUD
Pour activer Debugger à l'aide de gcloud
, procédez comme suit :
Créez votre cluster avec l'un des niveaux d'accès suivants :
https://www.googleapis.com/auth/cloud-platform
permet à votre cluster d'accéder à toutes les API Google Cloud.https://www.googleapis.com/auth/cloud_debugger
ne permet à votre cluster d'accéder qu'à l'API Debugger. Utilisez ce niveau d'accès pour renforcer la sécurité de votre cluster.
gcloud container clusters create example-cluster-name \ --scopes=https://www.googleapis.com/auth/cloud_debugger
Incluez les lignes suivantes dans le fichier
Dockerfile
pour ajouter l'agent Debugger à votre application en conteneur :FROM gcr.io/dotnet-debugger/aspnetcore:2.0 COPY . /app WORKDIR /app # If you don't have the source-context.json file, delete the `COPY` line below. # See running locally below for more information. COPY ./source-context.json /usr/share/dotnet-debugger/agent/ ENV STACKDRIVER_DEBUGGER_MODULE=MODULE ENV STACKDRIVER_DEBUGGER_VERSION=VERSION # If not running on Google Cloud, uncomment and set the following: # ENV GOOGLE_APPLICATION_CREDENTIALS=CREDENTIALS_FILE ENTRYPOINT ["/usr/share/dotnet-debugger/start-debugger.sh", "dotnet", "APPLICATION.dll"]
Où :
source-context.json
correspond au fichier au format JSON qui contient la configuration du contexte source. Consultez la page Sélectionner automatiquement le code source pour en savoir plus sur la génération de ce fichier.MODULE
est le nom de l'application. Avec la version, il identifie l'application dans Google Cloud Console. Exemples :MyApp
,Backend
ouFrontend
.VERSION
est la version de l'application (l'ID de la version, par exemple). Google Cloud Console affiche l'application en cours d'exécution au formatMODULE - VERSION
. Exemples :v1.0
,build_147
ouv20160520
.CREDENTIALS_FILE
correspond au chemin du fichier JSON contenant les identifiants du compte de service.APPLICATION
correspond au point d'entrée de l'application .NET Core en cours d'exécution associée à Debugger.
Le débogueur est maintenant prêt à être utilisé lors du déploiement de votre application en conteneur.
Pour en savoir plus sur la création des clusters, consultez la page Créer un cluster.
CONSOLE
Pour activer Debugger à l'aide de Google Cloud Console, procédez comme suit:
Dans la section Pools de nœuds, sélectionnez Sécurité, puis cliquez sur Définir l'accès pour chaque API.
Activez Debugger.
Facultatif : Sélectionnez Autoriser l'accès complet à l'ensemble des API Cloud.
Le débogueur est maintenant prêt à être utilisé avec l'application.
Pour découvrir comment afficher automatiquement le code source correspondant à l'application déployée sur la page "Débogage" de Google Cloud Console, consultez la page Sélectionner automatiquement le code source.
Compute Engine
L'agent Cloud Debugger pour .NET Core n'est pas disponible dans l'environnement Compute Engine.
Fichier local
Pour utiliser la suite Google Cloud Operations lors de l'exécution locale de votre application, procédez comme suit :
- Définissez la variable d'environnement
GOOGLE_APPLICATION_CREDENTIALS
pour qu'elle pointe vers le chemin complet du fichier JSON du compte de service. - Définissez la variable d'environnement
STACKDRIVER_DEBUGGER_MODULE
sur le nom du composant en cours de débogage. Ce nom de module apparaîtra dans la liste des modules Google Cloud Console pouvant être débogués. - Définissez la variable d'environnement
STACKDRIVER_DEBUGGER_VERSION
sur la version logique du module en cours de débogage. Cela permet de déboguer plusieurs versions logiques du module dans Google Cloud Console. - Définissez la variable d'environnement
STACKDRIVER_DEBUGGER_DEBUGGER
pour qu'elle pointe vers un emplacement du binaire de la suite Google Cloud Operations. - Si vous utilisez Linux, définissez la variable d'environnement
LD_LIBRARY_PATH
afin d'inclure le répertoire de la suite Google Cloud Operations.
Lors de la création de l'application .NET Core, incluez et déployez des fichiers PDB avec votre code. Saisissez les lignes suivantes dans chaque fichier PDB :
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<DebugType>portable</DebugType>
</PropertyGroup>
Notez que lors du débogage d'un build Release
, des variables peuvent être mal nommées ou manquantes.