Je veux déboguer avec Python

C'est bien que Python affiche une trace de pile lorsqu'une erreur se produit, mais je ne suis pas sûr de ce qui ne va pas.

Notez donc comment déboguer avec un script Python.

Le site suivant l'a résumé très facilement, mais comme il n'y avait pas d'explication détaillée sur les termes de débogage, j'ajouterai une explication supplémentaire. http://racchai.hatenablog.com/entry/2016/05/30/070000

Le débogage en Python utilise le module pdb.

Facile à utiliser. Ajoutez simplement la ligne ci-dessous juste avant l'endroit douteux.

import pdb; pdb.set_trace()

Si vous exécutez le script dans cet état, le débogueur interactif démarrera à cet emplacement. Après cela, tapez simplement la commande step et exécutez-la ligne par ligne. (Ceci s'appelle ** step-in **) De plus, si vous voulez voir le contenu d'une variable pendant le débogage, utilisez la commande p. Vous pouvez vérifier la valeur stockée dans hoge en tapant p hoge.

Tableau de référence rapide des commandes

commander La description Remarques
s(tep) Entrez (exécutez ligne par ligne) Si vous entrez une fonction pendant le traitement, elle s'arrêtera ligne par ligne même dans la fonction.
n(ext) Step over (exécuté ligne par ligne) Exécuter une ligne à la fois, y compris l'appel de fonction
r(eturn) Sortir (exécuter en unités de fonction) Exécuter jusqu'à ce que la fonction d'exécution soit renvoyée
l(ist) Afficher la source avant et après la ligne actuelle
a(rgs) Afficher les arguments de la fonction courante
p Vérifiez la valeur de la variable p hogeUtilisez comme
c(ontinue) Passer au point d'arrêt suivant

Site de référence

http://docs.python.jp/2/library/pdb.html http://racchai.hatenablog.com/entry/2016/05/30/070000

Recommended Posts

Je veux déboguer avec Python
Je veux analyser les journaux avec Python
Je veux jouer avec aws avec python
Je veux utiliser MATLAB feval avec python
Je veux faire un jeu avec Python
Je souhaite utiliser le répertoire temporaire avec Python2
#Unresolved Je veux compiler gobject-introspection avec Python3
Je veux résoudre APG4b avec Python (chapitre 2)
Je veux écrire dans un fichier avec Python
Je veux gérer l'optimisation avec python et cplex
Je veux hériter de l'arrière avec la classe de données python
Je veux travailler avec un robot en python.
Je veux AWS Lambda avec Python sur Mac!
Je veux faire ○○ avec les Pandas
Je veux faire fonctionner un ordinateur quantique avec Python
Je veux pouvoir analyser des données avec Python (partie 3)
Je souhaite spécifier une autre version de Python avec pyvenv
Je veux pouvoir analyser des données avec Python (partie 1)
Je veux pouvoir analyser des données avec Python (partie 2)
Je veux assister automatiquement à des cours en ligne avec Python + Selenium!
[Python] Je souhaite utiliser l'option -h avec argparse
Je veux détecter des objets avec OpenCV
Je veux écrire un blog avec Jupyter Notebook
Je veux utiliser jar de python
Je voulais résoudre ABC160 avec Python
Je veux créer un environnement Python
Je veux installer Python avec PythonAnywhere
Je voulais résoudre ABC172 avec Python
J'ai essayé de déboguer.
Je souhaite utiliser un caractère générique que je souhaite décortiquer avec Python remove
Je veux résoudre APG4b avec Python (seulement 4.01 et 4.04 au chapitre 4)
Je veux sortir le début du mois prochain avec Python
Je souhaite rechercher le texte intégral avec elasticsearch + python
[Introduction] Je veux créer un robot Mastodon avec Python! 【Débutants】
Je veux faire le test de Dunnett en Python
Je voulais résoudre NOMURA Contest 2020 avec Python
Je veux créer une fenêtre avec Python
Je souhaite envoyer un e-mail depuis Gmail en utilisant Python.
[Python] Je veux gérer 7DaysToDie depuis Discord! 1/3
Je souhaite afficher plusieurs images avec matplotlib.
Je voulais installer Python 3.4.3 avec Homebrew + pyenv
Je veux être OREMO avec setParam!
J'ai essayé d'obtenir des données CloudWatch avec Python
Je veux fusionner des dictionnaires imbriqués en Python
Je ne veux pas utiliser -inf avec np.log
Je souhaite utiliser ip vrf avec SONiC
Je veux recommencer avec Migrate de Django
Je souhaite vendre les produits que j'ai listés par python scraping Mercari
Je veux créer du code C ++ à partir de code Python!
Je veux afficher la progression en Python!
Je veux le faire avec Python lambda Django, mais je vais m'arrêter
Je veux tweeter Twitter avec Python, mais j'y suis accro
Maintenance de l'environnement réalisée avec Docker (je souhaite post-traiter GrADS en Python
J'ai essayé fp-growth avec python
J'ai essayé de gratter avec Python
Connectez-vous à BigQuery avec Python
J'ai fait un blackjack avec du python!