Obecnie używam IDE NetBeans z Jythonem 2.5.1Czy debugger Pythona wkracza w generatory?
Podczas debugowania mojego projektu krok po kroku, gdy tylko napotkana zostanie iteracja nad generatorem, debugger przechodzi prosto do końca kodu. Dane wyjściowe działają poprawnie, ale niemożliwe jest wykonanie krok po kroku debugowania po napotkaniu pierwszego generatora.
Czy jest to standardowe zachowanie dla debugowania w Pythonie we wszystkich IDE Pythona? Czy nie można debugować kodu "yield after yield" w ten sam sposób, w jaki możemy debugować VBA dla każdego elementu pętli "for" (przepraszam za wzmiankę o VBA :)?
Dzięki.
EDIT
Bez generatora
Kod:
def example(n):
i = 1
while i <= n:
yield i
i += 1
print "hello"
print "goodbye"
wyjściowa:
hello
goodbye
debugowanie:
[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
z generatorem
Kod:
def example(n):
i = 1
while i <= n:
yield i
i += 1
print "hello"
for n in example(3):
print n
print "goodbye"
wyjściowa:
hello
1
2
3
goodbye
debugowanie:
[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
Zamieść swój kod. To wyjaśni twoje pytanie. – Blender