[Python] Uso di PDB.
Alessandro Dentella
sandro a e-den.it
Gio 18 Apr 2013 10:38:44 CEST
> Ok, come faccio invece, se volessi testare il funzionamento di batnav.py sin
> dalla sua prima istruzione, non post_mortem. Come
Ci sono vari modi, il mio suggerimento è si usare ipython ed in particolare
il comando 'run' con opzione -d (leggi la documentazione in ipython con
%magic).
Come indagine post-mortem, ipython ti mette a disposizione il comando
'debug' che ti catapulta nel punto esatto in cui è stato sollevato l'errore
non gestito.
Quello che segue è l'esempio per eseguire passo passo il moduo mymod::
sandro a bluff:/tmp$ cat mymod.py
a = [1,2,3] #<<<<<<< pessima scelta di nome variabile, anche solo per test
# infatti 'a' è anche un comando pdb...
def print_a():
print a, len(a)
print_a()
sandro a bluff:/tmp$ ipython
In [1]: run -d mymod
Breakpoint 1 at /tmp/mymod.py:1
NOTE: Enter 'c' at the ipdb> prompt to start your script.
> <string>(1)<module>()
ipdb> n
> /tmp/mymod.py(1)<module>()
1---> 1 a = [1,2,3]
2
3 def print_a():
ipdb> n
> /tmp/mymod.py(3)<module>()
2
----> 3 def print_a():
4 print a, len(a)
ipdb> n
> /tmp/mymod.py(6)<module>()
5
----> 6 print_a()
7
ipdb> s
--Call--
> /tmp/mymod.py(3)print_a()
2
----> 3 def print_a():
4 print a, len(a)
ipdb> n
> /tmp/mymod.py(4)print_a()
3 def print_a():
----> 4 print a, len(a)
--
Sandro Dentella *:-)
http://www.reteisi.org Soluzioni libere per le scuole
http://sqlkit.argolinux.org SQLkit home page - PyGTK/python/sqlalchemy
Maggiori informazioni sulla lista
Python