[PYTHON] Débogage facile avec ipdb

Je m'appelle Kazuhiro Minomaki (https://qiita.com/mimaki_kazuhiro) et je suis stagiaire chez Future Electronic Technology. Cette fois, j'écrirai sur ipdb.

Puisque vous êtes nouveau dans la programmation, le contenu peut être incorrect. S'il y a des erreurs, je les corrigerai, veuillez donc les signaler de plus en plus.

Qu'est-ce que ipdb

Il fournit une extension de pdb, qui est un débogueur standard en Python. Le débogage est le processus de recherche et de correction des erreurs dans un programme. Ensuite, installez-le d'abord.

terminal


$ sudo pip install ipdb

Opérons réellement

Créez un fichier avec un nom approprié. Cette fois, créez un fichier appelé test.py.

test.py


import ipdb
print ("debug program")
a = 10 / 3
b = 10.3 / 3.4
ipdb.set_trace()
print (a,b)

Exécutez avec la commande suivante.

terminal


python3 -m ipdb test.py #nom de fichier

Ensuite, sur l'écran ci-dessous.

terminal


> /Users/mimakikazuhiro/Desktop/djangosw/test.py(1)<module>()
----> 1 import ipdb
      2 print ("debug program")
      3 a = 10 / 3

ipdb>

Pour le moment, appuyez sur "h" pour demander "quel type de fonction a-t-il?"

terminal


ipdb> h                                                                         

Documented commands (type help <topic>):
========================================
EOF    cl         disable  interact  next    psource  rv         unt   
a      clear      display  j         p       q        s          until 
alias  commands   down     jump      pdef    quit     source     up    
args   condition  enable   l         pdoc    r        step       w     
b      cont       exit     list      pfile   restart  tbreak     whatis
break  continue   h        ll        pinfo   return   u          where 
bt     d          help     longlist  pinfo2  retval   unalias  
c      debug      ignore   n         pp      run      undisplay

Miscellaneous help topics:
==========================
exec  pdb

ipdb>

Je vais le pousser de différentes manières.

terminal


ipdb> n                                                                        
> /Users/mimakikazuhiro/Desktop/djangosw/test.py(2)<module>()
      1 import ipdb
----> 2 print ("debug program")
      3 a = 10 / 3

terminal


ipdb> s                                                                        
debug program
> /Users/mimakikazuhiro/Desktop/djangosw/test.py(3)<module>()
      2 print ("debug program")
----> 3 a = 10 / 3
      4 b = 10.3 / 3.4

terminal


ipdb> q

Terminez par "q". Il semble que vous puissiez facilement déboguer comme ça.

Recommended Posts

Débogage facile avec ipdb
Débogage C / C ++ avec gdb
Déboguer le pipeline avec Metaflow
TopView facile avec OpenCV
Environnement toxique facile avec Jenkins
[Analyse de co-occurrence] Analyse de co-occurrence facile avec Python! [Python]
Débogage avec pdb en Python
Utile lors du débogage avec TouchDesigner
Synchronisation facile des dossiers avec Python
Rendre avec la syntaxe facile
Grattage Web facile avec Scrapy
Compilation facile de Python avec NUITKA-Utilities
Serveur HTTP facile avec Python
Connexion proxy facile avec django-hijack
Débogage à distance avec Visual Studio 2017
[IPdb] Les débutants en développement Web ont tenté de résumer le débogage avec Python
[Python] Traitement parallèle facile avec Joblib
Easy Slackbot avec Docker et Errbot
Construction d'un environnement Jupyter facile avec Cloud9
Application GUI facile avec Tkinter Text
Installez facilement pyspark avec conda
Programmation facile Python + OpenCV avec Canopy
Transmission de courrier facile avec Hâte Python3
Optimisation bayésienne très simple avec Python
Tests faciles d'AWS S3 avec MinIO
Réglage facile de la police japonaise avec matplotlib
Visualisez facilement vos données avec Python seaborn.
Facile avec Slack en utilisant Bot #NowPlaying
Dessinez facilement des graphiques avec matplotlib
Exécution parallèle facile avec le sous-processus python
Animation facile avec matplotlib (mp4, gif)
Environnement de déploiement facile avec gaffer + tissu
Extraction de mots-clés facile avec TermExtract pour Python
[Python] Test super facile avec instruction assert
[Python] Vérification simple du type d'argument avec la classe de données
Formatage JSON facile avec les fonctions Linux standard
Gestion facile des filtres avec l'option -m de Python
Rendez les applications GUI super faciles avec tkinter
[Facile] Reconnaissance automatique AI avec une webcam!
Introduction facile de la reconnaissance vocale avec Python
Liaison multilingue C / C ++ facile avec CMake + SWIG
[Easy Python] Lecture de fichiers Excel avec openpyxl
Application Web facile avec Python + Flask + Heroku
Traitez facilement des images en Python avec Pillow
[Easy Python] Lecture de fichiers Excel avec des pandas
Facile! Utilisez gensim et word2vec avec MAMP.
Scraping Web facile avec Python et Ruby
[Python] Essayez facilement l'apprentissage amélioré (DQN) avec Keras-RL
API REST facile avec API Gateway / Lambda / DynamoDB