Saturday, July 25, 2009

Running IronPython 2.6 with Python stack frame support

IronPython 2.6 has Python stack frame support. Python stack frame support has a performance cost, but allows code that uses sys._getframe(), plus the standard library pdb debugger, to work.

To run IronPython 2.6 with stack frame support you need to use one of two command line switches, -X:Frames or -X:FullFrames. In an email on the IronPython mailing list Dino Veihland (core IronPython developer) explains the difference:
-X:FullFrames promotes all local variables into the heap. So you can always crawl the stack and look/change them for all methods.

-X:Frames only creates the frame objects and if something happens to make us promote local variables (e.g. a closure, or a call to locals(), exec, eval, dir(), vars()) then the local variables will be available for that specific method.

No comments:

Post a Comment

Note: only a member of this blog may post a comment.