"Diez B. Roggisch" <[EMAIL PROTECTED]> writes: > > the code works with no problem, I am playing around with the pdb, i.e > > **************** > > from pdb import * > > set_trace() for i in range(1,500000): > > print i > > print "tired of this" > > print "I am out" > > **************** > > [EMAIL PROTECTED]:~/python/practic$ python practic.py > >> /home/fred/python/practic/practic.py(4)?() > > -> for i in range(1,500000): > > (Pdb) n > >> /home/fred/python/practic/practic.py(5)?() > > -> print i > > (Pdb) n > > 1 > >> /home/fred/python/practic/practic.py(4)?() > > -> for i in range(1,500000): > > (Pdb) b 6 > > Breakpoint 1 at /home/fred/python/practic/practic.py:6 > > (Pdb) c > >> /home/fred/python/practic/practic.py(5)?() > > -> print i <<<< I expected (print "tired of this") > > (Pdb) > > > In TFM it says that set_trace() puts a breakpoint to the current > frame. I admit that I also wouldn't read that as "each and every > instruction in this very frame", but that is what essentially > happens. I think the docs could need some enhancement here. Try > debugging a called function, there things will work as expected.
Let me try to explain my understanding here. set_trace() merely tells the Python interpreter to call the debugger dispatcher after the call to set_trace() finishes. In effect this is at the next statement of your program because the caller frame here is always the "set_trace()" call you put in your program. Okay, so now we've called this "debugger dispatcher" thing and what does that do? Well, it accepts commands from you, like "next" or "step" or "continue". . In the case above, Python was told to make that set-trace call 500000 times. But yes, I agree the wording in in the pdb (and pydb) manuals are written too much from view of someone writing a debugger rather than someone using it. If you or someone else wantsto make a suggestion as to how to make the description of set_trace() more user friendly (and I don't think the above explanation succeeds), I'll put it in the next release of pydb (http://bashdb.sourceforge.net/pydb) which probably will be in the not-too distant future. -- http://mail.python.org/mailman/listinfo/python-list