Actualmente estoy usando el IDE NetBeans 2.5.1 con Jython¿El depurador de Python entra en los generadores?
Al depurar mi proyecto paso a paso, tan pronto como se encuentre una iteración sobre un generador, el depurador va directamente a la final del código. La salida funciona bien, pero es imposible hacer una depuración paso a paso una vez que se alcanza el primer generador.
¿Es este un comportamiento estándar para la depuración de Python en todos los IDE de Python? ¿No es posible depurar el código "yield after yield" de la misma manera que podemos depurar VBA para cada elemento de un ciclo "for" (perdón por la mención de VBA :)?
Gracias.
EDITAR
Sin el generador de
Código:
def example(n):
i = 1
while i <= n:
yield i
i += 1
print "hello"
print "goodbye"
Salida:
hello
goodbye
Depuración:
[LOG]PythonDebugger : overall Starting
[LOG]PythonDebugger.taskStarted : I am Starting a new Debugging Session ...
[LOG]This window is an interactive debugging context aware Python Shell
[LOG]where you can enter python console commands while debugging
(...)
>>>[stdout:]hello
>>>[stdout:]goodbye
Debug session normal end
con el generador
Código:
def example(n):
i = 1
while i <= n:
yield i
i += 1
print "hello"
for n in example(3):
print n
print "goodbye"
Salida:
hello
1
2
3
goodbye
Depuración:
[LOG]PythonDebugger : overall Starting
[LOG]PythonDebugger.taskStarted : I am Starting a new Debugging Session ...
[LOG]This window is an interactive debugging context aware Python Shell
[LOG]where you can enter python console commands while debugging
(...)
>>>[stdout:]hello
>>>None['GeneratorExit
deamon ended
']
Debug session normal end
Publica tu código. Esto aclarará tu pregunta. – Blender