Como usar o Stackdriver Debugger

O Stackdriver Debugger captura e inspeciona a pilha de chamadas e as variáveis locais de um aplicativo em execução na nuvem, especificamente no App Engine ou Compute Engine, sem interrompê-lo ou deixá-lo mais lento.

Ele funciona da mesma maneira que o depurador padrão do ambiente de desenvolvimento integrado e oferece a mesma interface do usuário, com duas diferenças principais:

  • O Stackdriver Debugger não pausa o aplicativo em execução.
  • Não é possível passar por um aplicativo no Stackdriver Debugger.

O Stackdriver Debugger só é executado no App Engine e é ativado automaticamente para aplicativos Java e Kotlin. No Google Compute Engine, é preciso ativá-lo executando um script de bootstrap.

Requisitos

Para executar o Stackdriver Debugger, você precisa dos itens a seguir:

Como usar o Stackdriver Debugger

Para usar o Stackdriver Debugger, siga estas etapas:

  1. Abra seu projeto dentro do IntelliJ.
  2. Selecione Run > Edit Configurations.
  3. Clique no sinal de mais (+) no canto superior esquerdo e selecione Google Stackdriver Debug na lista suspensa.
  4. Digite um nome para sua configuração no campo Name.
  5. Verifique se seu projeto está selecionado no campo Project.
  6. Clique em OK.
  7. Clique no ícone de inseto verde "depurar" na barra de ferramentas para iniciar o depurador.
  8. Na caixa de diálogo Attach to an Application, selecione o módulo de back-end que você quer depurar e clique em Attach.

Como definir um local do instantâneo

Um instantâneo captura as variáveis locais e a pilha de chamadas no local especificado no código-fonte. O local do instantâneo se aplica a todas as instâncias do seu aplicativo em execução.

Para definir um local do instantâneo, siga estas etapas:

  1. Navegue até o arquivo que contém o código-fonte que você quer observar, depois de anexar o Stackdriver Debugger a um aplicativo em execução.
  2. Clique nas linhas que você quer capturar na forma de instantâneo na área à esquerda, como faria para definir um ponto de quebra de linha de um aplicativo local com o depurador comum do IDEA.

    Um círculo azul aparece na área à esquerda para marcar o local do instantâneo. O painel "Stackdriver Debugger Snapshots" exibe os pendentes.

  3. Clique no círculo azul para remover o local do instantâneo.

No exemplo abaixo, o local do instantâneo é configurado na linha if (userAgent != null) {.

Definir o local do instantâneo

Como conseguir o instantâneo

Na primeira vez que uma instância executa o código no local do instantâneo, o depurador captura um instantâneo e o disponibiliza para visualização. Posteriormente, é possível examinar o instantâneo e usar os dados para depurar seu aplicativo.

O rótulo no instantâneo no painel "Stackdriver Debugger Snapshots" muda de Pending para a hora que o Stackdriver capturou o instantâneo.

Ver rastreamento de pilha

Conceitos avançados

Definir uma condição de instantâneo

Essa condição é uma expressão booleana que diz ao depurador para capturar um instantâneo somente quando o valor for verdadeiro. Por exemplo, x !=0. A condição é uma expressão booleana completa que pode incluir operadores lógicos e numéricos, como score < 0 || score > 500.

Expressões de inspeção

Às vezes, as informações de que você precisa para depurar um problema não estão imediatamente aparentes nas variáveis e nos campos locais do aplicativo. Particularmente, durante a execução no App Engine, o Gerenciador de segurança evita uma análise mais profunda de detalhes sobre membros particulares de classes do sistema, como java.util.Hashmap. Em casos assim, uma expressão de inspeção opera como uma variável local temporária eficaz para expor mais informações. As expressões de inspeção podem avaliar expressões complexas e transferir hierarquias de objeto quando um instantâneo é capturado.

Você pode especificar uma expressão de inspeção depois de definir a localização do instantâneo. As expressões de inspeção são compatíveis com os mesmos recursos de linguagem das condições do instantâneo descritas anteriormente.

Saiba mais

Para ver um tutorial completo sobre os recursos do Stackdriver Debugger no IntelliJ IDEA, consulte o Tutorial do Google Cloud Debugger para IntelliJ IDEA.

Próximas etapas

  • Explore o código do plug-in e informe problemas no GitHub ou faça uma pergunta no Stack Overflow.
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Cloud Tools for IntelliJ
Precisa de ajuda? Acesse nossa página de suporte.