Déboguer des notebooks

Cette page explique comment utiliser le débogueur interactif intégré dans le notebook Databricks. Le débogueur est disponible uniquement pour Python.

Le débogueur interactif fournit des points d’arrêt, une exécution pas à pas, une inspection des variables, ainsi que d'autres outils pour vous aider à développer du code dans des cahiers de code (notebooks) plus efficacement.

Spécifications

Pour accéder au débogueur, votre notebook doit être connecté à l’une des ressources de calcul suivantes :

  • Informatique sans serveur
  • Calcul avec le mode d’accès défini sur Standard (anciennement partagé) dans Databricks Runtime 14.3 LTS et versions ultérieures
  • Calcul avec le mode d’accès défini sur Dédié (anciennement utilisateur unique) dans Databricks Runtime 13.3 LTS et versions ultérieures
  • Calcul avec le mode d’accès défini sur Aucune isolation partagée dans Databricks Runtime 13.3 LTS et versions ultérieures

Activer le débogueur

Pour activer le débogueur, procédez comme suit :

  1. Cliquez sur votre nom d’utilisateur en haut à droite de l’espace de travail, puis sélectionnez Paramètres dans la liste déroulante.
  2. Dans la barre latérale des Paramètres, sélectionnez Développeur.
  3. Dans la section Paramètres d’éditeur, activez Débogueur interactif de notebook Python.

Démarrer le débogage

Pour démarrer le débogueur, effectuez ces étapes :

  1. Ajoutez un ou plusieurs points d’arrêt en cliquant dans la bordure d’une cellule. Pour supprimer un point d’arrêt, cliquez à nouveau dessus.

    créer et supprimer des points d’arrêt vidéo

  2. Démarrez la session de débogage à l’aide de l’une des options suivantes :

    • Cliquez sur Exécuter la cellule de débogage>.
    • Utilisez le raccourci clavier Option + Maj + D.
    • Dans le menu d’exécution de cellule, sélectionnez Déboguer la cellule.

    élément de débogage de la cellule dans le menu d’exécution de la cellule

Une session de débogage démarre automatiquement et exécute la cellule sélectionnée.

Vous pouvez également démarrer le débogueur si une cellule déclenche une erreur. En bas de la sortie de la cellule, cliquez sur Bouton Déboguer.

Lorsqu’une session de débogage est active, la barre d’outils de débogage Déboguer (barre d'outils) apparaît en haut de la cellule.

Actions de débogage

barre d’outils du débogueur annotée

Dans une session de débogage, vous pouvez effectuer les opérations suivantes :

  • Définir ou supprimer des points d’arrêt.
  • Afficher les valeurs des variables à un point d’arrêt.
  • Parcourir le code pas à pas
  • Entrer dans une fonction ou en sortir.
  • Recherchez la ligne à laquelle le débogueur s'arrête.

Lorsque le code atteint un point d’arrêt, il s’arrête avant l’exécution de la ligne, et non après.

Utilisez les boutons de la barre d’outils du débogueur pour parcourir le code. Lorsque vous parcourez le code, la ligne active est mise en surbrillance dans la cellule. Vous pouvez afficher les valeurs des variables dans le volet Explorateur de variables dans la barre latérale droite.

Lorsque vous parcourez une fonction, les variables de fonction locales apparaissent dans le volet des variables, marquées [local].

Accéder aux fichiers d’espace de travail

Vous pouvez définir des points d’arrêt et entrer dans les fonctions définies dans d’autres fichiers d’espace de travail lorsque vous activez les onglets pour les blocs-notes et les fichiers. Pour accéder à une fonction, cliquez sur l’icône flèche dot vers le bas. Si la fonction est définie dans un autre fichier d’espace de travail, le débogueur ouvre ce fichier dans un nouvel onglet.

étape d'exemple dans

Remarque

  • Le débogueur peut uniquement entrer dans les fonctions définies dans les fichiers de l’espace de travail. Le débogage pas à pas dans les bibliothèques Python, ou dans d’autres notebooks, n’est pas encore pris en charge.
  • Si vous modifiez des fichiers externes après leur importation, la session de notebook peut toujours utiliser l’ancienne version du module. Pour vous assurer que les modifications apportées aux modules importés prennent effet pendant le débogage, utilisez autoreload pour les modules Python dans Databricks Runtime 18.0+ ou serverless compute environment version 4+.

Console de débogage

Lorsque vous démarrez une session de débogage, la console de débogage apparaît automatiquement dans le panneau inférieur. Cette console vous permet d’exécuter Python code pour inspecter ou manipuler des variables lorsqu’elles sont suspendues à un point d’arrêt. Le code exécuté dans le notebook principal ne s’exécute pas pendant une session de débogage. Pour exécuter le code dans la console, appuyez sur Entrée. Pour les expressions multilignes, utilisez Maj + Entrée pour passer à une nouvelle ligne.

debug_console

Remarque

  • La console de débogage est conçue pour des évaluations rapides et expire si l’exécution du code dépasse 15 secondes.
  • La commande display n’est pas prise en charge dans la console de débogage. Pour afficher des exemples de données depuis un DataFrame, utilisez df.show() pour les DataFrames PySpark ou df.head() pour les DataFrames Pandas.

Explorateur de variables

Vous pouvez utiliser le panneau de l’explorateur de variables l’icône d’explorateur de variables sur le côté droit pour afficher les valeurs de vos variables. Cliquer sur Inspecter exécute automatiquement le code dans la console de débogage pour générer la valeur de votre variable.

Exemple de panneau d’explorateur de variables

Pour filtrer l’affichage, entrez du texte dans la zone de recherche. La liste est automatiquement filtrée à mesure que vous tapez.

Pour Python sur Databricks Runtime 12.2 LTS et versions ultérieures, les variables sont mises à jour au fur et à mesure que la cellule s'exécute. Pour Scala, R et pour Python sur Databricks Runtime 11.3 LTS et ci-dessous, les variables sont mises à jour après l’exécution d’une cellule.

Mettre fin à une session de débogueur

Pour mettre fin à la session de débogage, cliquez sur bouton d’arrêt du débogueur en haut à gauche de la cellule ou cliquez sur bouton d’arrêt du notebook en haut du notebook. La session de débogage se termine également automatiquement après 30 minutes si l’utilisateur n’utilise pas la barre d’outils de débogage ou la console de débogage.

Déboguer avec le code Genie

Genie Code est un assistant IA prenant en compte le contexte qui peut vous aider à déboguer votre code. Pour plus d’informations, consultez les raccourcis de commande De Génie Code pour les blocs-notes .

Limites

Pour plus d’informations, consultez les limitations connues des notebooks Databricks.