[Python-Dev] Changing a value in a frame (for a debugger) (original) (raw)
Greg Ewing greg.ewing at canterbury.ac.nz
Wed Feb 7 07:13:39 CET 2007
- Previous message: [Python-Dev] Changing a value in a frame (for a debugger)
- Next message: [Python-Dev] Changing a value in a frame (for a debugger)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Fabio Zadrozny wrote:
frame = findFrame(threadid, frameid) exec '%s=%s' % (attr, expression) in frame.fglobals, frame.flocals
The locals of a function are actually stored in an array. When you access them as a dict using locals(), all you get is a dict containing a copy of their current values. Modifying that dict doesn't affect the underlying array.
It seems that reading the f_locals of a frame does the same thing. To modify the locals, you would need to poke values into the original array -- but it doesn't seem to be exposed to Python.
So it looks like you're out of luck.
-- Greg
- Previous message: [Python-Dev] Changing a value in a frame (for a debugger)
- Next message: [Python-Dev] Changing a value in a frame (for a debugger)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]