pdb in python2.5
R. Bernstein
rocky at panix.com
Thu Jan 25 08:08:39 EST 2007
More information about the Python-list mailing list
Thu Jan 25 08:08:39 EST 2007
- Previous message (by thread): While loop with "or"? Please help!
- Next message (by thread): pdb in python2.5
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"Rotem" <vmalloc at gmail.com> writes: > Hi, > > Maybe I'm repeating a previous post (please correct me if I am). > > I've tried the following code in python 2.5 (r25:51908, Oct 6 2006, > 15:22:41) > example: > > from __future__ import with_statement > import threading > > def f(): > l = threading.Lock() > with l: > print "hello" > raise Exception("error") > print "world" > > try: > f() > except: > import pdb > pdb.pm() > > This fails because pdb.pm() attempts to access sys.last_traceback which > is not assigned. Recent releases of pydb (http://bashdb.sf.net/pydb) don't suffer this problem. (But see below.) > Trying: > pdb.post_mortem(sys.exc_traceback) > > Yields the following: > > test.py(9)f() > -> print "world" > (Pdb) > > the 'w' command yields a similar output, which implies that the > exception was thrown from the wrong line. > the traceback module is better, yielding correct results (displays line > 8 instead of 9). > > Has anyone encountered this behavior? Yes, this seems to be a bug in pdb. It is using the traceback's f_line instance variable rather than the tb_lineno instance variable. I guess these two values are usually the same. In fact, I haven't been able to come up with a Python 2.4 situtation where they are different. (If someone can, I'd appreciate it if you'd send me a small example so I can put it in the pydb regression tests.) Even in 2.5, it's kind of hard to get a case where they are different. If I remove the "with", the problem goes away. It was also bug in pydb, but I've just committed in CVS the fix for this > is pdb broken? Best as I can tell pdb isn't all that well maintained. (Had it been, I probably wouldn't have devoted the time to pydb that I have been.) > I get similar results for larger/more complex pieces of code. > > Thanks in advance, > > Rotem
- Previous message (by thread): While loop with "or"? Please help!
- Next message (by thread): pdb in python2.5
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list