[issue5215] change value of local variable in debug

Markus Pröller report at bugs.python.org
Wed Aug 18 08:18:07 CEST 2010


Markus Pröller <mproeller at googlemail.com> added the comment:

Hello,

I changed pdb.py to the file I added in the attachment (I just used the given patch pdb_cache_f_locals.patch)

Then I created the following file:

import pdb

def function_1(number):
    stack_1 = number
    function_2(stack_1)
    
def function_2(number):
    stack_2 = number + 1
    function_3(stack_2)
    
def function_3(number):
    stack_3 = number + 1
    pdb.set_trace()
    print stack_3
    
function_1(1)

and run that file with python -i <filename>
This is my python version:
---------------------------------------
Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
-----------------------------------------
And here is what I did in the pdb session:
> c:\tst_pdb.py(14)function_3()
-> print stack_3
(Pdb) !print stack_3
3
(Pdb) u
> c:\tst_pdb.py(9)function_2()
-> function_3(stack_2)
(Pdb) l
  4         stack_1 = number
  5         function_2(stack_1)
  6
  7     def function_2(number):
  8         stack_2 = number + 1
  9  ->     function_3(stack_2)
 10
 11     def function_3(number):
 12         stack_3 = number + 1
 13         pdb.set_trace()
 14         print stack_3
(Pdb) !print stack_2
*** NameError: name 'stack_2' is not defined
(Pdb) d
> c:\tst_pdb.py(14)function_3()
-> print stack_3
(Pdb) l
  9         function_3(stack_2)
 10
 11     def function_3(number):
 12         stack_3 = number + 1
 13         pdb.set_trace()
 14  ->     print stack_3
 15
 16     function_1(1) [EOF]
(Pdb) !stack_3 = 125 #this works now with the patch
(Pdb) !print stack_3
125
(Pdb)

When I use my original pdb.py, I can print variable stack_2 when I move one frame up, but can't change the value of these local variables.

----------
Added file: http://bugs.python.org/file18563/pdb.py

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue5215>
_______________________________________


More information about the Python-bugs-list mailing list