Partilhar via


Depurar cadernos

Esta página descreve como usar o depurador interativo integrado no notebook Databricks. O depurador está disponível apenas para Python.

O depurador interativo fornece pontos de interrupção, execução passo a passo, inspeção de variáveis e mais ferramentas para ajudá-lo a desenvolver código em blocos de anotações com mais eficiência.

Requisitos

Para aceder ao depurador, o seu notebook deve estar conectado a um dos seguintes recursos de computação:

  • Computação sem servidor
  • Computação com modo de acesso definido como Standard (anteriormente compartilhado) no Databricks Runtime 14.3 LTS e superior
  • Computação com modo de acesso definido como Dedicado (anteriormente usuário único) no Databricks Runtime 13.3 LTS e superior
  • Computação com o modo de acesso definido como Sem isolamento compartilhado no Databricks Runtime 13.3 LTS e superior

Ativar o depurador

Use as seguintes etapas para habilitar o depurador:

  1. Clique no seu nome de utilizador no canto superior direito da área de trabalho e selecione Definições na lista pendente.
  2. Na barra lateral Configurações, selecione Desenvolvedor.
  3. Na seção Configurações do Editor , alterne o Python Notebook Interactive Debugger.

Iniciar depuração

Para iniciar o depurador, siga estes passos:

  1. Adicione um ou mais pontos de interrupção clicando na margem de uma célula. Para remover um ponto de interrupção, clique nele novamente.

    Vídeo sobre criar e remover pontos de interrupção

  2. Inicie a sessão de depuração usando uma das seguintes opções:

    • Clique em Executar célula de depuração>.
    • Use o atalho de teclado Opção + Shift + D.
    • No menu de execução da célula, selecione Depurar célula.

    Depurar item de célula no menu Executar célula

Uma sessão de depuração é iniciada automaticamente e executa a célula selecionada.

Você também pode iniciar o depurador quando uma célula gerar um erro. Na parte inferior da célula de saída, clique no botão de depuração.

Quando uma sessão de depuração está ativa, a barra de ferramentas Barra de ferramentas Depurar de depuração aparece na parte superior da célula.

Ações de depuração

barra de ferramentas anotada do depurador

Em uma sessão de depuração, você pode fazer o seguinte:

  • Defina ou remova pontos de interrupção.
  • Exiba os valores das variáveis em um ponto de interrupção.
  • Percorra o código.
  • Entrar ou sair de uma função.
  • Localize a linha em que o depurador está parado.

Quando o código atinge um ponto de interrupção, ele para antes que a linha seja executada, não depois.

Use os botões na barra de ferramentas do depurador para percorrer o código. À medida que percorres o código, a linha atual é destacada na célula. Você pode exibir valores de variáveis no painel explorador de variáveis na barra lateral direita.

Quando você percorre uma função, as variáveis de função local aparecem no painel de variáveis, marcadas como [local].

Entre em arquivos de espaço de trabalho

Você pode definir pontos de interrupção e entrar em funções definidas em outros arquivos de espaço de trabalho ao habilitar guias para blocos de anotações e arquivos. Para entrar em uma função, clique na etapa no ícone Seta para baixo ícone de ponto.. Se a função for definida noutro ficheiro do espaço de trabalho, o depurador irá abrir esse ficheiro numa nova guia.

exemplo de etapa

Nota

  • O depurador só pode entrar em funções definidas em arquivos no espaço de trabalho. Ainda não há suporte para aceder a bibliotecas Python ou a outros notebooks.
  • Se você editar arquivos externos depois que eles forem importados, a sessão do bloco de anotações ainda poderá usar a versão antiga do módulo. Para garantir que as edições nos módulos importados entrem em vigor durante a depuração, use autoreload para módulos Python no Databricks Runtime 18.0+ ou no ambiente de computação sem servidor versão 4+.

Consola de depuração

Quando você inicia uma sessão de depuração, o console de depuração aparece automaticamente no painel inferior. Este console permite que você execute código Python para inspecionar ou manipular variáveis quando pausado em um ponto de interrupção. O código executado no bloco de anotações principal não é executado durante uma sessão de depuração. Para executar o código no console, pressione Enter. Para expressões com várias linhas, use Shift + Enter para mover para uma nova linha.

debug_console

Nota

  • O console de depuração foi projetado para avaliações rápidas e expira se a execução do código exceder 15 segundos.
  • O display comando não é suportado no console de depuração. Para exibir dados de exemplo de um DataFrame, use df.show() para PySpark DataFrames ou df.head() para Pandas DataFrames.

Explorador de variáveis

Você pode usar o painel O ícone do explorador de variáveis explorador de variáveis no lado direito para exibir os valores de suas variáveis. Clicar em Inspecionar executa automaticamente o código no console de depuração para gerar o valor da variável.

Painel de exploração de variáveis de exemplo

Para filtrar a exibição, digite texto na caixa de pesquisa. A lista é filtrada automaticamente à medida que escreve.

Para Python no Databricks Runtime 12.2 LTS e superior, as variáveis são atualizadas à medida que uma célula é executada. Para Scala, R e Python no Databricks Runtime 11.3 LTS e inferior, as variáveis são atualizadas depois que uma célula termina a execução.

Encerrar uma sessão do depurador

Para terminar a sessão de depuração, clique botão de paragem do depurador no canto superior esquerdo da célula ou clique botão de paragem do bloco de notas na parte superior do bloco de notas. A sessão de depuração também termina automaticamente após 30 minutos se o usuário não usar a barra de ferramentas de depuração ou o console de depuração.

Depurar com o Databricks Assistant

O Databricks Assistant é um assistente de IA sensível ao contexto que pode ajudá-lo a depurar seu código. Consulte atalhos de comando do Assistente para cadernos para obter mais informações.

Limitações

Consulte Limitações conhecidas dos notebooks Databricks para obter mais informações.