Visão geral
Nesta página, você aprende como configurar seu ambiente e seu aplicativo GO para usar o Cloud Debugger.
Para alguns ambientes, é necessário especificar explicitamente o escopo de acesso para que o agente do Cloud Debugger envie dados.
Recomendamos definir o escopo de acesso da forma mais ampla possível e depois usar o Gerenciador de identidade e acesso para restringir o acesso.
Para manter essa prática recomendada, configure o escopo de acesso para todas as APIs do Cloud com a opção cloud-platform
.
Versões de linguagem e ambientes de computação
O Cloud Debugger está disponível para o Go versão 1.9 e anteriores nos seguintes ambientes de computação:
Ambiente padrão do App Engine | Ambiente flexível do App Engine | Compute Engine | Google Kubernetes Engine | Cloud Run | Cloud Run for Anthos | VMs e contêineres em execução em outra plataforma | Cloud Functions |
---|---|---|---|---|---|---|---|
Como configurar o Cloud Debugger
Para configurar o Cloud Debugger, conclua as seguintes tarefas:
Verifique se a API Cloud Debugger está ativada no projeto.
Instale e configure o Debugger no ambiente de computação que você está usando.
Selecione o código-fonte.
Como verificar se a API Cloud Debugger está ativada
Para começar a usar o Cloud Debugger, verifique se a API Cloud Debugger está ativada. O Cloud Debugger é ativado por padrão na maioria dos projetos.Ativar a API Cloud Debugger
Google Kubernetes Engine
GCLOUD
Para ativar o Debugger usando a gcloud
, conclua as etapas abaixo:
Crie seu cluster com um destes escopos de acesso:
https://www.googleapis.com/auth/cloud-platform
concede ao cluster acesso a todas as APIs do Google Cloud.https://www.googleapis.com/auth/cloud_debugger
concede ao cluster acesso apenas à API Stackdriver Debugger. Use esse escopo de acesso para reforçar a segurança do seu cluster.
gcloud container clusters create example-cluster-name \ --scopes=https://www.googleapis.com/auth/cloud_debugger
Adicione as linhas a seguir ao
Dockerfile
para incluir o agente do Debugger ao app em contêiner:RUN go get cloud.google.com/go/cmd/go-cloud-debug-agent \ go-cloud-debug-agent -sourcecontext=[PATH_TO_FILE] -appmodule=[APP_NAME] \ -appversion=[APP_VERSION] -- [PATH_TO_BINARY] [ARG1] [ARG2]
Em que:
PATH_TO_FILE
especifica o caminho relativo ao arquivo com formato JSON que contém a configuração de contexto de origem.APP_NAME
é o nome do seu aplicativo ou serviço. Junto com a versão, ele é usado para identificar seu aplicativo no Console do Google Cloud.APP_VERSION
é um marcador de versão fornecido pelo aplicativo. Por exemplo, é possível usar um número de versão. O console do Google Cloud exibe a versão em execução comomodule - version
. Por exemplo,main - 1.0
.PATH_TO_BINARY
especifica o caminho relativo para o binário do aplicativo;ARG1
eARG2
são marcadores para quaisquer argumentos a mais que o aplicativo exigir.
O depurador agora estará pronto para uso quando você implantar o app em contêiner.
Para informações mais detalhadas, consulte Como criar um cluster.
CONSOLE
Para ativar o Debugger usando o Console do Google Cloud, siga estas etapas:
Na seção Pool de nós, selecione Segurança e Definir acesso para cada API.
Ative o Debugger.
Opcional: selecione Permitir acesso total a todas as APIs do Cloud.
Compute Engine
Verifique se as instâncias de VM do Compute Engine estão executando uma imagem do Debian Linux de 64 bits.
Verifique se as instâncias de VM do Compute Engine foram criadas com a opção de escopo de acesso Permitir acesso completo a todas as APIs do Cloud ou se elas têm um dos seguintes escopos de acesso:
https://www.googleapis.com/auth/cloud-platform
https://www.googleapis.com/auth/cloud_debugger
As otimizações atuais do compilador Go interferem na precisão da depuração. Como resultado, o Cloud Debugger mostra informações incorretas sobre seu aplicativo quando ele é criado com as otimizações padrão do compilador Go.
Para ver as informações de depuração corretas, crie o aplicativo sem as otimizações padrão. As amostras de comandos a seguir demonstram como desativar as otimizações ao usar o Go 1.10 ou uma versão mais recente:
go build -gcflags=all='-N -l'
O valor
gcflags
anterior inclui-N
para desativar otimizações e-l
para desativar o inlining.Faça o download do agente do Debugger.
O agente do Cloud Debugger é um binário leve que você ativa para o aplicativo na inicialização. O agente é iniciado com o aplicativo e se comunica com o back-end do Cloud Debugger enquanto o aplicativo está em execução.
Depois de criar e implantar seu aplicativo do Compute Engine, faça o download e instale o agente de depuração:
go get cloud.google.com/go/cmd/go-cloud-debug-agent
Inicie o agente e o programa:
go-cloud-debug-agent -sourcecontext=[PATH_TO_FILE] -appmodule=[APP_NAME] \ -appversion=[APP_VERSION] -- [PATH_TO_BINARY] [ARG1] [ARG2]
Em que:
PATH_TO_FILE
especifica o caminho relativo ao arquivo com formato JSON que contém a configuração de contexto de origem.APP_NAME
é o nome do seu aplicativo ou serviço. Junto com a versão, ele é usado para identificar seu aplicativo no Console do Google Cloud.APP_VERSION
é um marcador de versão fornecido pelo aplicativo. Por exemplo, é possível usar um número de versão. O console do Google Cloud exibe a versão em execução comomodule - version
. Por exemplo,main - 1.0
.PATH_TO_BINARY
especifica o caminho relativo para o binário do aplicativo;ARG1
eARG2
são marcadores para quaisquer argumentos a mais que o aplicativo exigir.
Exemplo:
go-cloud-debug-agent -appmodule=main -appversion=1.0 -- bin/my-app my-arg
O depurador está pronto para ser usado com o app.
Ambiente local e outros
O agente do Cloud Debugger para Go é compatível com ambientes locais ou outros que usam o Go 1.9 e versões anteriores.