This is what we've tested so far :) >>> import pdb >>> def f(): ... print 'hi' ... print 'goodbye' ... >>> pdb.runcall(f) > <stdin>(2)f() (Pdb) s hi > <stdin>(3)f() (Pdb) s goodbye --Return-- > <stdin>(3)f()->None (Pdb) s >>> pdb.runcall(f) > <stdin>(2)f() (Pdb) ?
Unfortunately there don't seem to be pdb tests so it's hard for us to say what works and doesn't yet. Could you open a bug on this and that way it won't fall off our radar? > -----Original Message----- > From: [email protected] [mailto:users- > [email protected]] On Behalf Of Michael Foord > Sent: Monday, July 27, 2009 8:35 AM > To: Discussion of IronPython > Subject: [IronPython] pdb with IronPython 2.6 beta 2 > > Hello all, > > I've been trying to use the pdb module with IronPython 2.6beta2 and the > interactive interpreter (with the -X:FullFrames command line option). > I've only used pdb with the set_trace function, but I couldn't get > *any* > of it to work in my brief exploration. > > I've posted my interactive session below in case anyone can point out > what I'm doing wrong: > > IronPython 2.6 Beta 2 (2.6.0.20) on .NET 2.0.50727.4016 > Type "help", "copyright", "credits" or "license" for more information. > >>> import pdb > >>> def f(): > ... a = 3 > ... pdb.set_trace() > ... > >>> f() > >>> print a > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > NameError: name 'a' is not defined > >>> pdb.run('f()') > >>> def f(): > ... a = 3 > ... foo > ... > >>> pdb.pm() > > <stdin>(1)<module>() > (Pdb) a > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "C:\Program Files\IronPython 2.6\Lib\pdb.py", line 1232, in pm > File "C:\Program Files\IronPython 2.6\Lib\pdb.py", line 1229, in > post_mortem > File "C:\Program Files\IronPython 2.6\Lib\pdb.py", line 194, in > interaction > File "C:\Program Files\IronPython 2.6\Lib\cmd.py", line 142, in > cmdloop > File "C:\Program Files\IronPython 2.6\Lib\pdb.py", line 252, in > onecmd > File "C:\Program Files\IronPython 2.6\Lib\cmd.py", line 219, in > onecmd > File "C:\Program Files\IronPython 2.6\Lib\pdb.py", line 702, in > do_args > SystemError: Object reference not set to an instance of an object. > >>> > > For the record I tried the same with CPython and it worked as expected: > > Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit > (Intel)] on > win32 > Type "help", "copyright", "credits" or "license" for more information. > >>> import pdb > >>> def f(): > ... a = 3 > ... pdb.set_trace() > ... > >>> f() > --Return-- > > <stdin>(3)f()->None > (Pdb) a > (Pdb) print a > 3 > (Pdb) > > >>> def f(): > ... a = 6 > ... foo > ... > >>> f() > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "<stdin>", line 3, in f > NameError: global name 'foo' is not defined > >>> pdb.pm() > > <stdin>(3)f() > (Pdb) a > (Pdb) print a > 6 > (Pdb) > > > > All the best, > > Michael > > -- > http://www.ironpythoninaction.com/ > http://www.voidspace.org.uk/blog > > _______________________________________________ > Users mailing list > [email protected] > http://lists.ironpython.com/listinfo.cgi/users-ironpython.com _______________________________________________ Users mailing list [email protected] http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
