[PYTHON] Einfaches Debuggen mit ipdb

Mein Name ist Kazuhiro Minomaki (https://qiita.com/mimaki_kazuhiro) und ich bin Praktikant bei Future Electronic Technology. Dieses Mal werde ich über ipdb schreiben.

Da Sie neu in der Programmierung sind, ist der Inhalt möglicherweise falsch. Wenn es Fehler gibt, werde ich sie korrigieren. Bitte weisen Sie immer mehr darauf hin.

Was ist ipdb?

Es bietet eine Erweiterung von pdb, einem Standard-Debugger in Python. Beim Debuggen werden Fehler in einem Programm gefunden und korrigiert. Installieren Sie es dann zuerst.

terminal


$ sudo pip install ipdb

Lassen Sie uns tatsächlich arbeiten

Erstellen Sie eine Datei mit einem geeigneten Namen. Erstellen Sie dieses Mal eine Datei mit dem Namen "test.py".

test.py


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

Mit dem folgenden Befehl ausführen.

terminal


python3 -m ipdb test.py #Dateiname

Dann auf dem Bildschirm unten.

terminal


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

ipdb>

Drücken Sie vorerst "h", um zu fragen, "welche Funktion hat es?"

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>

Ich werde es auf verschiedene Arten schieben.

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

Beenden Sie mit "q". Es scheint, dass Sie so leicht debuggen können.

Recommended Posts

Einfaches Debuggen mit ipdb
C / C ++ - Debugging mit gdb
Debug-Pipeline mit Metaflow
Einfache TopView mit OpenCV
Einfache toxische Umgebung mit Jenkins
[Analyse des gemeinsamen Auftretens] Einfache Analyse des gemeinsamen Auftretens mit Python! [Python]
Debuggen mit pdb in Python
Nützlich beim Debuggen mit TouchDesigner
Einfache Ordnersynchronisation mit Python
Machen Sie es mit der Syntax einfach
Einfaches Web-Scraping mit Scrapy
Einfache Python-Kompilierung mit NUITKA-Utilities
Einfacher HTTP-Server mit Python
Einfache Proxy-Anmeldung mit Django-Hijack
Remote-Debugging mit Visual Studio 2017
[IPdb] Anfänger in der Webentwicklung haben versucht, das Debuggen mit Python zusammenzufassen
[Python] Einfache Parallelverarbeitung mit Joblib
Einfacher Slackbot mit Docker und Errbot
Einfache Jupyter-Umgebungskonstruktion mit Cloud9
Einfache GUI App mit Tkinter Text
Einfach pyspark mit conda installieren
Einfache Python + OpenCV-Programmierung mit Canopy
Einfache Mailübertragung mit Eile Python3
Bayesianische Optimierung, die mit Python sehr einfach ist
Einfacher AWS S3-Test mit MinIO
Einfache japanische Schrifteinstellung mit matplotlib
Visualisieren Sie Ihre Daten ganz einfach mit Python Seaborn.
Einfach mit Slack mit Bot #NowPlaying
Zeichnen Sie einfach Diagramme mit matplotlib
Einfache parallele Ausführung mit Python-Unterprozess
Einfache Animation mit matplotlib (mp4, gif)
Einfache Bereitstellungsumgebung mit Gaffer + Fabric
Einfache Schlüsselwortextraktion mit TermExtract für Python
[Python] Super einfacher Test mit Assert-Anweisung
[Python] Einfache Überprüfung des Argumenttyps mit Datenklasse
Einfache JSON-Formatierung mit Standard-Linux-Funktionen
Einfache Filterverwaltung mit der Option -m von Python
Machen Sie GUI-Apps mit tkinter ganz einfach
[Einfach] AI automatische Erkennung mit einer Webkamera!
Einfache Einführung der Spracherkennung mit Python
Einfache mehrsprachige C / C ++ - Bindung mit CMake + SWIG
[Easy Python] Lesen von Excel-Dateien mit openpyxl
Einfache Web-App mit Python + Flask + Heroku
Verarbeiten Sie Bilder in Python ganz einfach mit Pillow
[Easy Python] Lesen von Excel-Dateien mit Pandas
Einfach! Verwenden Sie gensim und word2vec mit MAMP.
Einfaches Web-Scraping mit Python und Ruby
[Python] Probieren Sie mit Keras-RL ganz einfach erweitertes Lernen (DQN) aus
Einfache REST-API mit API Gateway / Lambda / DynamoDB