Depurar um serviço em execução localmente no Cloud Code para IntelliJ
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Com o Cloud Code, é possível depurar os serviços do Cloud Run
localmente em um ambiente semelhante ao Cloud Run. É possível definir pontos de interrupção, percorrer seu código
e depurar serviços remotos em execução nos contêineres.
Antes de depurar o serviços, é preciso criar a configuração de depuração:
Navegue até o seletor de configuração Executar/depurar na barra de navegação e
clique em Editar configurações.
Selecione Cloud Run: Executar localmente no Cloud Code: Cloud Run.
Clique em OK.
Como depurar o serviço
Para depurar o serviço, siga estes passos:
Clique em Depurar para Cloud Run: executar localmente para iniciar o ciclo de desenvolvimento no
modo de depuração.
O Cloud Code anexará uma sessão de depuração. Quando a operação for bem-sucedida, a janela "Ferramenta de
depuração" será aberta, confirmando a conexão (na guia "Console").
Clique na divisão na linha executável do código em que você quer adicionar
um ponto de interrupção.
Os círculos preenchidos em vermelho indicam pontos de interrupção ativos, enquanto os círculos vazios destacados em vermelho indicam pontos de interrupção desativados.
Para acessar seu serviço em execução, clique no URL exibido no painel de log de eventos.
Ao fazer isso, uma nova solicitação é enviada ao serviço e interrompida na linha
marcada com ponto de interrupção.
Para encerrar a sessão de depuração, clique no ícone de parada na
configuração do Cloud Run: executar localmente.
IDEs compatíveis
A tabela a seguir lista as linguagens e os IDEs compatíveis com o Cloud Code para
depuração. A tabela também lista os plug-ins necessários, quando aplicável:
Com o Cloud Code,
é possível definir pontos de interrupção e depurar aplicativos remotos em execução nos contêineres
das seguintes linguagens:
Java
O Cloud Code adiciona automaticamente uma variável de ambiente, JAVA_TOOL_OPTIONS, com a configuração de JDWP apropriada para ativar a depuração. Se JAVA_TOOL_OPTIONS já estiver presente,
o Cloud Code usará as configurações especificadas em
JAVA_TOOL_OPTIONS.
Node.js
Dependendo da estrutura do aplicativo e da configuração de criação da
imagem, talvez seja necessário ajudar o depurador a mapear as fontes locais
para as fontes remotas no contêiner. Isso permite que o depurador
de nós processe corretamente seus pontos de interrupção.
É possível configurar isso de uma das seguintes maneiras:
Configuração manual
Selecione o Cloud Run: Run Locally Run Configuration no menu suspenso e clique em Edit Configurations. Na guia Depurar, configure o mapeamento de origem da origem do aplicativo local para o local de origem no contêiner remoto.
Opções de configuração:
Arquivo/diretório: o arquivo ou diretório local do aplicativo
em execução no Cloud Run.
Caminho remoto: o caminho para o arquivo ou diretório em execução no
contêiner no Cloud Run.
Configuração automática
É possível adiar o mapeamento para o Cloud Code. Quando você
inicia a sessão de depuração, o Cloud Code tenta inferir
esse mapeamento automaticamente. O mapeamento inferido é apresentado em uma
caixa de diálogo; Uma caixa de diálogo para cada artefato que você está depurando.
Opções de configuração:
Caminho local: o caminho local para a raiz do artefato que você
está depurando.
Caminho remoto: o caminho para o arquivo ou diretório em execução no
contêiner no Cloud Run. É possível modificá-lo
por seu próprio valor. Se você clicar em Cancelar, nenhum mapeamento será aplicado.
Go
Para configurar seu aplicativo para depuração, seu app precisa ser um aplicativo baseado em módulo Go e ser identificado como baseado em Go definindo um dos padrãos Variáveis de ambiente de execução do Go no contêiner, como GODEBUG, GOGC, GOMAXPROCS ou GOTRACEBACK. GOTRACEBACK=single é a configuração padrão para Go
e GOTRACEBACK=all é uma configuração geralmente útil.
Como opção, mas recomendado, seu app precisa ser criado com as
opções -gcflags='all=-N -l' para desativar as otimizações. Os perfis do Skaffold são uma opção útil para isso. Eles podem ser definidos com o campo Perfil de implantação na sua configuração do Run no Guia Build/Deploy.
Python
Para configurar seu aplicativo para depuração, verifique se você atende aos seguintes
pré-requisitos:
É possível permitir que o Cloud Code gerencie suas dependências ou aponte para uma instalação local do Skaffold. Consulte Preferências > Ferramentas >
Cloud Code > Dependências.
O interpretador do Python está configurado
Sem um interpretador do Python configurado no projeto, a depuração não funcionará, porque não há como executar a pydevd, o depurador do Python subjacente.
Ambiente de desenvolvimento integrado
Como configurar
IntelliJ IDEA
A depuração do Python com o Cloud Code requer que um SDK do Python seja configurado para o projeto.
Acesse File
> Project Structure e adicione um SDK Python na guia Project. Se não existir, adicione uma na guia SDK.
PyCharm
Acesse File > Settings > Project > Python Interpreter ou para Mac OS X, PyCharm > Preferences > Project > Python
Interpreter e adicione um interpretador do Python. de dados.
Para enviar um feedback ou informar um problema no ambiente de desenvolvimento integrado do IntelliJ, acesse
Tools > Cloud Code > Help / About > Envie
feedback ou informe um problema para informar um problema no GitHub.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-01 UTC."],[[["\u003cp\u003eCloud Code allows local debugging of Cloud Run services in a Cloud Run-like environment, enabling users to set breakpoints, step through code, and debug remote services running in containers.\u003c/p\u003e\n"],["\u003cp\u003eDebugging a service requires creating a debug configuration by selecting "Cloud Run: Run Locally" under "Cloud Code: Cloud Run" in the Run/Debug configurations.\u003c/p\u003e\n"],["\u003cp\u003eCloud Code supports debugging for Java, Go, Node.js, and Python, with specific IDEs and plugin requirements detailed for each language.\u003c/p\u003e\n"],["\u003cp\u003eNode.js debugging may require manual or automatic source mapping to align local and remote sources, while Go applications need to be Go Module-based and may benefit from specific build options.\u003c/p\u003e\n"],["\u003cp\u003ePython debugging requires a Python SDK configured within your project's IDE, and it also requires a skaffold version of 1.25.0 or greater.\u003c/p\u003e\n"]]],[],null,["# Debug a locally running service in Cloud Code for IntelliJ\n\n| **Note:** Debugging support is currently available for Java, Go, Node.js, and Python services.\n\nWith Cloud Code, you can debug your Cloud Run services\nlocally in a Cloud Run-like environment. You can set breakpoints, step through\nyour code, and debug remote services running in containers.\n\nCloud Code also enables you to [debug an application while making\nchanges to, and iterating on, source code](/code/docs/intellij/watch-modes#applying-changes-while-debugging).\n\nDefining your debug configuration\n---------------------------------\n\nBefore you debug your service, you must create your debug configuration:\n\n1. Navigate to **Run/Debug** configuration selector in the Navigation bar and click **Edit Configurations**.\n2. Choose **Cloud Run: Run Locally** under **Cloud Code: Cloud Run**.\n3. Click **OK**.\n\nDebugging your service\n----------------------\n\nTo debug your service, follow these steps:\n\n1. Click\n **Debug** for **Cloud Run: Run Locally** to start the development cycle in\n debug mode.\n\n2. Cloud Code will attach a debug session. Once successful, the Debug Tool\n window opens, confirming connection (within the Console tab).\n\n3. Click the gutter at the executable line of the code where you want to\n add a breakpoint.\n\n Red filled circles denote active breakpoints, while red-outlined hollow\n circles signify disabled breakpoints.\n4. To access your running service, click the URL displayed in your Event Log panel.\n\n When you do, a new request is sent to your service and it pauses at the\n breakpoint-marked line.\n\n5. To end the debugging session, click the stop icon on the\n Cloud Run: Run Locally run configuration.\n\nSupported IDEs\n--------------\n\nThe following table lists the languages and IDEs that Cloud Code supports for\ndebugging. The table also lists the required plugins, where applicable:\n\nFor more information about IDE support, see\n[Supported JetBrains IDEs](/code/docs/intellij/ides).\n\nWith Cloud Code, you can set breakpoints and\ndebug remote applications running in containers for the following languages: \n\n### Java\n\nCloud Code automatically adds an environment variable,\n`JAVA_TOOL_OPTIONS`, with the appropriate JDWP configuration to\nenable debugging. If `JAVA_TOOL_OPTIONS` is already present,\nCloud Code uses existing settings specified in\n`JAVA_TOOL_OPTIONS`.\n\n### Node.js\n\nDepending on the structure of your application and its image build\nconfiguration, you might have to help the debugger map your local sources\nto the remote sources in the container. This enables the Node debugger\nto correctly process your breakpoints.\n\nYou can configure this in one of the following ways:\n\n- **Manual configuration**\n\n Select the **Cloud Run: Run Locally** Run Configuration from the dropdown\n and then click **Edit Configurations** . On the **Debug** tab, configure the\n source mapping from your local application source to the source\n location in the remote container.\n\n Configuration options:\n - **File/directory** - the local file or directory of your application running on Cloud Run.\n - **Remote path** - the path to the file or directory running in the container on Cloud Run.\n- **Automatic configuration**\n\n You can choose to defer this mapping to Cloud Code. When you\n start your debug session, Cloud Code attempts to infer\n this mapping automatically. The inferred mapping is presented to you in a\n dialog; one dialog for each artifact you are debugging.\n\n Configuration options:\n - **Local path** - the local path to the root of the artifact you are debugging.\n - **Remote path** - the path to the file or directory running in the container on Cloud Run. You can choose to override this with your own value. If you click **Cancel**, no mapping is applied.\n\n | **Note:** Automatic mapping is a best effort guess based on heuristics.\n\n### Go\n\nTo configure your application for debugging, your app must be a\n[Go Module](https://blog.golang.org/using-go-modules)-based application\nand be identified as being Go-based by setting one of the\n[standard Go runtime environment variables](https://godoc.org/runtime)\nin the container, such as `GODEBUG`, `GOGC`, `GOMAXPROCS`, or\n`GOTRACEBACK`. `GOTRACEBACK=single` is the default setting for Go\nand `GOTRACEBACK=all` is a generally useful configuration.\n\nOptionally (but recommended), your app should be built with the\n`-gcflags='all=-N -l'` options to disable optimizations. Skaffold\n[Profiles](https://skaffold.dev/docs/environment/profiles/) are a useful\noption for this purpose and can be set with the **Deployment Profile**\nfield in your Run configuration on the **Build/Deploy** tab.\n\n### Python\n\nTo configure your application for debugging, ensure you meet the following\nprerequisites:\n\n- **IDE, edition, and plugin are compatible**\n\n For compatible IDEs, editions, and plugins, see\n [Supported IDEs](#supported_ides).\n- **Skaffold version is 1.25.0 or greater**\n\n You can allow Cloud Code to [manage your dependencies](/code/docs/intellij/install#managed_dependencies),\n or point to a local Skaffold installation. See **Preferences \\\u003e Tools \\\u003e\n Cloud Code \\\u003e Dependencies**.\n- **Python interpreter is configured**\n\n Without a Python interpreter configured in your project,\n debugging won't work, as there is no way to run `pydevd`, the\n underlying Python debugger.\n\n \u003cbr /\u003e\n\n \u003cbr /\u003e\n\nFor more information, see the [Skaffold debug\ndocumentation](https://skaffold.dev/docs/workflows/debug/).\n\nGet support\n-----------\n\nTo submit feedback or report an issue in your IntelliJ IDE, go to **Tools** \\\u003e **Cloud Code** \\\u003e **Help / About** \\\u003e **Submit\nfeedback or report an issue** to report an issue on [GitHub](https://github.com/GoogleCloudPlatform/cloud-code-intellij/issues)."]]