Déboguez votre code Python avec PyCharm

Débogage visuel

Certains codeurs continuent à déboguer en utilisant des instructions print car le concept est difficile et le module pdb leur semble intimidant. L'interface utilisateur graphique de débogage python de PyCharm facilite l'utilisation d'un débogueur en permettant de visualiser le processus. Le démarrage est simple et il est facile d'accéder aux principales fonctionnalités de débogage.

Déboguez partout

Bien entendu, PyCharm peut déboguer le code que vous exécutez sur votre ordinateur local, qu'il s'agisse de votre système Python comme d'un environnement virtualenv, Anaconda ou Conda. Dans l'Édition Professionnelle de PyCharm vous pouvez également déboguer le code que vous exécutez dans un conteneur Docker, dans une machine virtuelle ou sur un hôte distant via SSH.

Déboguez dans des modèles PRO UNIQUEMENT

Lorsque vous travaillez avec des modèles, il arrive qu'un bug s'y introduise. Ces bugs peuvent être très difficiles à résoudre si vous ne pouvez pas voir ce qui se passe à l'intérieur des modèles. Le débogueur de PyCharm vous permet de placer un point de rupture dans les modèles Django et Jinja2 pour faciliter la résolution de ces problèmes.

Remarque : pour déboguer un modèle, commencez par configurer le langage du modèle

JavaScript pro uniquement

Aujourd'hui tout projet web implique JavaScript, et par conséquent tout IDE Python actuel doit également pouvoir déboguer JavaScript. L'Édition Professionnelle de PyCharm est livrée avec le débogueur JavaScript hautement performant de WebStorm. Le débogueur JavaScript prend en charge JS et NodeJS dans le navigateur.

Débogage pendant le TDD

Le développement piloté par les tests, ou TDD, implique d'explorer lors de la rédaction des tests. Utilisez le débogueur pour faciliter l'exploration du code en définissant des points d'arrêt dans le contexte que vous étudiez.

Débogage pendant le TDD

Cette exploration peut être dans votre code de test ou dans le code en cours de test, ce qui est très utile pour les tests d'intégration de Django (la prise en charge de Django n'est disponible que dans l'Édition Professionnelle de PyCharm). Utilisez un point d'arrêt pour connaître le résultat d'une requête dans un scénario de test.

Aucune modification de code requise

PDB est un excellent outil, mais il nécessite de modifier votre code, ce qui peut entraîner la vérification accidentelle des appels `pdb.set_trace()` dans votre dépôt Git.

Voyez ce que fait votre code

Points de rupture

Tous les débogueurs ont des points de rupture, mais seuls certains d'entre eux ont des points de rupture hautement polyvalents. Avez-vous déjà cliqué sur "Continuer" de nombreuses fois jusqu'à ce que vous arriviez enfin à l'itération de la boucle où se produit votre bug ? Plus besoin de faire cela avec les points de rupture conditionnels de PyCharm.

Parfois, vous voulez simplement voir la valeur d'une certaine variable tout au long de l'exécution du code. Vous pouvez configurer les points de rupture de PyCharm pour ne pas suspendre votre code, mais uniquement enregistrer un message pour vous.

Les exceptions peuvent gâcher votre journée, c'est pourquoi le débogueur de PyCharm est capable de s'arrêter lors des exceptions, même si vous ne savez pas très bien d'où elles viennent.

Pour vous aider à garder le contrôle lors de votre expérience de débogage, PyCharm dispose d'une fenêtre d'aperçu dans laquelle vous pouvez voir tous vos points de rupture et en désactiver certains à l'aide de cases à cocher. Vous pouvez également désactiver temporairement tous vos points de rupture jusqu'à ce que vous en ayez besoin.

Consultez les valeurs des variables en un clin d'œil

Dès que PyCharm atteint un point de rupture, toutes vos valeurs de variables sont intégrées dans votre code. Pour faciliter la visualisation des valeurs qui ont changé depuis la dernière fois que vous avez atteint le point de rupture, les valeurs modifiées sont mises en surbrillance.

Watches

Personnalisez votre affichage des variables en ajoutant des watches. Qu'ils soient simples ou complexes, vous pourrez exactement ce que vous voulez.

Contrôlez votre code

Parcourez visuellement votre code

Si vous voulez savoir où va votre code, vous n'avez pas besoin de mettre des points de rupture partout. Vous pouvez parcourir votre code et suivre précisément ce qui se passe.

Exécutez du code personnalisé

Dans certains cas, le moyen le plus simple de reproduire quelque chose est de forcer une variable à adopter une certaine valeur. PyCharm propose la fonction "evaluate expression" pour changer rapidement quelque chose, mais aussi une console si vous souhaitez plus de contrôle. La console peut même utiliser le shell ipython s'il est installé.

Vitesse

Plus rapide que PDB

Pour le débogage de Python 3.6, le débogueur de PyCharm est le plus rapide du marché. Plus rapide encore que PDB. Cela signifie que vous pouvez toujours exécuter votre code simplement dans le débogueur lors du développement et ajouter facilement des points de rupture lorsque vous en avez besoin. Assurez-vous simplement de cliquer sur "install" lorsque PyCharm vous demande si vous souhaitez installer les accélérations Cython.