2016-07-13 1 views
-1
import pdb 
print("program started") 
c=100 
d=200 
pdb.set_trace() 
def fun(a,b): 
    print a,b 
    return a+b 
fun(c,d) 
for i in [1,2,3,4,5]: 
    print 10/i 
    print ("other statements in program") 
print ("program ended") 
+0

Pouvez-vous mettre en retrait votre code correctement et le mettre en forme comme du code? –

+2

Avez-vous votre propre module appelé pdb? – Jens

+0

pdb - Un débogueur python @Jens – ViKiG

Répondre

1

Le module python pdb a une fonction set_trace(). Puisque votre programme ne le trouve pas, il importe quelque chose d'autre. Presque certainement, vous avez appelé votre programme (ou un autre programme dans le même répertoire) pdb.py.

0

cela fonctionne bien pour moi

`

[[email protected] tmp]# cat test.py 
import json,pdb 
buf = open('./a.txt').read() 
j = json.loads(buf) 
pdb.set_trace() 
print j 
[[email protected] tmp]# python test.py 
> /tmp/test.py(5)<module>() 
-> print j 
(Pdb) list 
    1  import json,pdb 
    2  buf = open('./a.txt').read() 
    3  j = json.loads(buf) 
    4  pdb.set_trace() 
    5 -> print j 
[EOF] 

`

également en mode interactif, vous pouvez utiliser l'aide (pdb) pour voir si elle utilise le module droit.