Déboguer un service Cloud Run dans Cloud Code pour VS Code
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Cloud Code pour VS Code vous permet de déboguer facilement une application déployée sur Cloud Run à l'aide de skaffold debug. Pour en savoir plus sur le débogage de Skaffold, consultez la section Déboguer avec Skaffold.
Vous n'avez pas besoin d'effectuer de configuration manuelle (configuration du transfert de port ou injection d'arguments de débogage spécifiques à un langage). Le débogage nécessite une application Cloud Run prête pour Cloud Code qui inclut un fichier de configuration skaffold.yaml et un fichier launch.json de type cloudcode.cloudrun.
Déboguer votre service Cloud Run
Pour déboguer votre service, procédez comme suit :
Pour exécuter votre service et y associer une session de débogage, ouvrez la palette de commandes (appuyez sur Ctrl/Cmd+Shift+P ou cliquez sur Affichage > Palette de commandes), puis exécutez la commande Debug on Cloud Run Emulator (Débogage sur l'émulateur Cloud Run).
Dans la boîte de dialogue "Run/Debug on Cloud Run Emulator" (Exécution/Débogage sur l'émulateur Cloud Run), définissez les spécifications de votre configuration :
Choisissez Docker ou Buildpacks comme compilateur, puis spécifiez votre fichier Dockerfile ou Buildpack.
(Facultatif) Pour spécifier une cible de fichier Dockerfile ou des arguments de compilation, cliquez sur Afficher les paramètres de compilation avancés, puis spécifiez la cible ou les arguments.
(Facultatif) Pour spécifier un nom de service personnalisé, une URL d'image de conteneur, un port de conteneur, une identité à utiliser pour le service, un nombre de processeurs dédiés ou une quantité de mémoire à allouer à chaque instance de conteneur, cliquez sur Afficher les paramètres de service avancés, puis spécifiez les valeurs souhaitées.
(Facultatif) Pour spécifier des variables d'environnement, cliquez sur Afficher les paramètres de service avancés, puis sur Variables d'environnement et spécifiez les valeurs souhaitées.
(Facultatif) Pour spécifier des connexions Cloud SQL, cliquez sur Connexions, puis spécifiez une connexion par ligne.
(Facultatif) Pour que VS Code rétablisse une session de débogage après avoir enregistré une modification de votre code, cochez la case Recompiler et réexécuter automatiquement en cas de modification.
Si vous souhaitez personnaliser davantage l'exécution de votre service, vous pouvez modifier directement votre fichier launch.json.
Pour commencer le débogage de votre service, cliquez sur Debug (Déboguer).
Pour chaque conteneur débogable dans votre service, confirmez ou saisissez le répertoire du conteneur distant dans lequel se trouve le programme à déboguer.
Vous pouvez également appuyer sur ESC pour ignorer le débogage d'un conteneur.
Cloud Code rattache une session de débogage pour chaque conteneur débogable dans le service.
Par défaut, lorsque vous enregistrez une modification apportée à votre application, Cloud Code redéploie l'application et configure une nouvelle session de débogage. Vous pouvez activer ou désactiver cette fonctionnalité avec l'option watch dans la configuration de lancement de votre projet.
Pour ajouter un point d'arrêt, dans l'éditeur, cliquez dans la marge du fichier que vous déboguez.
Les cercles pleins rouges indiquent les points d'arrêt actifs et les cercles vides gris indiquent les points d'arrêt inactifs.
Pour un contrôle plus précis des points d'arrêt, vous pouvez utiliser la section "Points d'arrêt" de la vue "Débogage" de VS Code.
Lorsque vous envoyez une nouvelle requête à votre service, celle-ci s'interrompt sur la ligne spécifiée.
Une fois la session terminée, cliquez avec le bouton droit de la souris pour utiliser les commandes suivantes:
Afficher les journaux:ouvrez les journaux d'application d'un déploiement spécifique avec l'explorateur de journaux Cloud Code.
Ouvrir une URL:ouvrez l'URL du service d'application d'un service spécifique dans un navigateur Web.
Si vous avez désactivé le mode de surveillance dans votre configuration de lancement et que vous souhaitez modifier votre application, puis la recompiler et la redéployer, cliquez sur la barre d'état de Cloud Code, puis sur Activer le mode de surveillance.
Si vous souhaitez inspecter les variables et les informations de pile, utilisez la barre latérale "Debug" (Débogage).
Pour interagir avec la session de débogage, utilisez la console de débogage dans le volet inférieur du débogueur.
Pour arrêter votre déploiement, cliquez sur le bouton Stop (Arrêter) dans la barre d'action de votre déploiement actuel.
Résoudre les problèmes de création de conteneurs
Si le code d'erreur BUILD_DOCKER_UNKNOWN s'affiche, cela indique un problème avec Docker. Pour résoudre ce problème, effectuez une ou plusieurs des tâches suivantes:
Redémarrez Docker et réessayez de créer le conteneur.
Si vous obtenez toujours la même erreur après le redémarrage, Docker risque d'avoir épuisé son espace disque. Pour en savoir plus sur le nettoyage des objets inutilisés dans Docker, consultez Élaguer les objets Docker inutilisés.
Essayez l'extension Disk Usage (Utilisation du disque) de Docker pour récupérer de l'espace.
Détails de la configuration
Cloud Code gère les détails de configuration spécifiques au langage suivants:
Node.js
Réécriture du point d'entrée à appeler :
node --inspect=localhost:9229
Python
Installation du module ptvsd à l'aide d'un conteneur d'initialisation et réécriture du point d'entrée à appeler :
python -m ptvsd --host localhost --port 5678
Go
Installation du débogueur dlv à l'aide d'un conteneur init et de la réécriture du point d'entrée, de sorte que la session de débogage lancée s'exécute avec un serveur de débogage uniquement (en mode sans interface graphique), continue le processus débogué au démarrage, accepte plusieurs connexions client et écoute à l'adresse localhost:56268 :
Ajout d'un environnement JAVA_TOOLS_OPTIONS avec la configuration JDWP (Java Debug Wire Protocol) appropriée, de sorte que l'agent de débogage JDWP écoute une connexion de socket sur le port 5005 et permet à la VM de commencer à s'exécuter avant Debugger est associé :
Pour envoyer vos commentaires, signalez tout problème sur GitHub ou posez une question sur Stack Overflow.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[[["\u003cp\u003eCloud Code for VS Code simplifies debugging applications deployed to Cloud Run using \u003ccode\u003eskaffold debug\u003c/code\u003e, eliminating the need for manual setup like port forwarding.\u003c/p\u003e\n"],["\u003cp\u003eDebugging requires a Cloud Code-ready Cloud Run application with \u003ccode\u003eskaffold.yaml\u003c/code\u003e and a \u003ccode\u003elaunch.json\u003c/code\u003e file of type \u003ccode\u003ecloudcode.cloudrun\u003c/code\u003e, which you can further customize.\u003c/p\u003e\n"],["\u003cp\u003eThe debugging process can be initiated via the VS Code command palette using the \u003cstrong\u003eDebug on Cloud Run Emulator\u003c/strong\u003e command, offering various configuration options like builder type, service settings, and environment variables.\u003c/p\u003e\n"],["\u003cp\u003eCloud Code automatically handles language-specific debugger configurations for Node.js, Python, Go, Java, and .NET, ensuring seamless debugging experiences.\u003c/p\u003e\n"],["\u003cp\u003eTroubleshooting container-building issues, such as the \u003ccode\u003eBUILD_DOCKER_UNKNOWN\u003c/code\u003e error, can often be resolved by restarting Docker or managing disk space using tools like Docker's Disk Usage extension.\u003c/p\u003e\n"]]],[],null,["# Debug a Cloud Run service in Cloud Code for VS Code\n\nCloud Code for VS Code lets you easily debug an application deployed to\nCloud Run by leveraging\n[`skaffold debug`](https://skaffold.dev/docs/workflows/debug). For detailed\ninformation about Skaffold debugging, see\n[Debugging with Skaffold](https://skaffold.dev/docs/workflows/debug/).\n\nYou don't need to complete manual setup like setting up port forwarding or\ninjecting language-specific debug arguments. Debugging requires a\nCloud Code-ready Cloud Run application\nthat includes a `skaffold.yaml` configuration file and a `launch.json` file of\ntype `cloudcode.cloudrun`.\n\nDebug your Cloud Run service\n----------------------------\n\nTo debug your service, follow these steps:\n\n1. To run your service and attach a debugger session to it, open the\n command palette (press `Ctrl`/`Cmd`+`Shift`+`P` or click **View** \\\u003e\n **Command Palette** )\n and then run the **Debug on Cloud Run Emulator** command.\n\n2. In the Run/Debug on Cloud Run Emulator dialog, set the\n specifications for your configuration:\n\n - Choose Docker or Buildpacks as your builder and then specify your Dockerfile or Buildpack.\n - (Optional) To specify a Dockerfile target or build arguments, click **Show Advanced Build Settings** and then specify the target or arguments.\n - (Optional) To specify a custom service name, container image URL, container port, identity for the service to use, number of dedicated CPUs, or amount of memory to allocate to each container instance, click **Show Advanced Service Settings** and then specify the values.\n - (Optional) To specify any [environment variables](/code/docs/vscode/develop-service#optional_customizing_your_configuration), click **Show Advanced Service Settings** , click **Environment Variables**, and then specify the values.\n - (Optional) To specify Cloud SQL connections, click **Connections** and then specify one connection per line.\n - (Optional) To have VS Code reestablish a debugging session after you save a change to your code, check the **Automatically re-build and re-run on changes** checkbox.\n\n If you want to further customize how your service is run, you can edit\n [your `launch.json` file](/code/docs/vscode/develop-service#customizing_an_existing_launchjson_configuration)\n directly.\n3. To begin debugging your service, click **Debug**.\n\n4. If prompted, [authenticate your credentials to run and debug an\n application locally](/code/docs/vscode/install#authenticate_credentials_for_debugging_applications_locally).\n\n5. For each debuggable container in your service, confirm or enter the directory\n in the remote container where the program you'd like to debug is found.\n\n Alternatively, you can press `ESC` to skip debugging a container.\n\n Cloud Code attaches a debug session for each debuggable\n container in the service.\n\n\n By default, when you save a change to your application,\n Cloud Code redeploys your application and sets up a new debug\n session. You can toggle this feature with the `watch` flag in your project's\n launch configuration.\n\n6. To add a breakpoint, click in the editor margin of the file you're debugging.\n\n Red filled circles signify active breakpoints and gray hollow circles\n signify disabled breakpoints.\n\n For finer breakpoint control, you can use the Breakpoints section in VS\n Code's Debug view.\n\n When you send a new request to your service, it pauses at the line you\n specified.\n7. After your session completes, right-click to use the following commands:\n\n - **View Logs:** Open the application logs of a specific deployment with the Cloud Code Logs Explorer\n - **Open URL:** Open the application service URL of a specific service in a web browser\n8. If you've turned off watch mode in your launch configuration and you want to\n make changes to your application and rebuild and redeploy the application,\n click the Cloud Code status bar and then click\n **Turn on watch mode**.\n\n9. If you want to inspect variables and stack info, use the\n [Debug Sidebar](https://code.visualstudio.com/Docs/editor/debugging).\n To interact with the debugging session, use the\n [Debug Console](https://code.visualstudio.com/Docs/editor/debugging#_debug-console-repl)\n in the bottom pane debugger.\n\n10. To stop your deployment, click the **Stop** button in the action bar for your\n current deployment.\n\n### Troubleshoot container-building issues\n\nIf you're getting the `BUILD_DOCKER_UNKNOWN` error code, this indicates a\nproblem with Docker. To resolve this issue, perform one or more of the following\ntasks:\n\n- Restart Docker and try building the container again.\n\n- If you're still getting the same error after restarting, Docker could be\n running out of disk space. To learn more about cleaning up unused objects in\n Docker, see [Prune unused Docker objects](https://docs.docker.com/config/pruning/#prune-unused-docker-objects).\n\n- Try Docker's [Disk Usage](https://hub.docker.com/extensions/docker/disk-usage-extension)\n extension to help reclaim space.\n\nConfiguration details\n---------------------\n\nCloud Code handles the following language-specific configuration\ndetails: \n\n### Node.js\n\nRewriting the entrypoint to invoke:\n\n`node --inspect=localhost:9229`\n\n### Python\n\nInstalling the `ptvsd` module using an Init Container and rewriting the\nentrypoint to invoke:\n\n`python -m ptvsd --host localhost --port 5678`\n\n### Go\n\nInstalling the\n[`dlv` debugger](https://github.com/go-delve/delve/blob/master/Documentation/usage/dlv.md)\nusing an Init Container and rewriting the entrypoint such that the launched\ndebug session runs with a debug server only (in headless mode), continues the\ndebugged process on start, accepts multiple client connections, and listens at\n`localhost:56268`:\n\n`dlv exec --headless --continue --accept-multiclient --listen=localhost:56268 --api-version=2, \u003capp\u003e --`\n\n### Java\n\nAdding an environment `JAVA_TOOLS_OPTIONS` with the appropriate Java Debug\nWire Protocol (JDWP) configuration such that the JDWP debugging agent listens\nfor a socket connection on port 5005 and allows the VM to begin executing\nbefore the debugger is attached:\n\n`jdwp=transport=dt_socket,server=y,suspend=n,address=5005,quiet=y`\n\n### .NET\n\n.NET Core applications are configured to be deployed along with `vsdbg` for VS\nCode.\n\nIf you encounter problems with the automatic configuration, see\n[Detailed debugger configuration and setup](https://skaffold.dev/docs/workflows/debug/#detailed-debugger-configuration-and-setup)\nfor help troubleshooting.\n\nGet Support\n-----------\n\nTo send feedback, report issues on [GitHub](https://github.com/GoogleCloudPlatform/cloud-code-vscode/issues), or ask a question on [Stack Overflow](https://stackoverflow.com/questions/ask?tags=cloud-code-vscode)."]]