[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