这是关于Pycharm 4.5.1。
每当我停在函数中的断点时,我都无法覆盖或创建交互式python控制台中函数中定义的任何变量(无论这些函数变量是在断点之前还是之后定义的) 。
相比之下,当我的调试点不在函数内时,我可以覆盖当前脚本中定义的任何变量。这是一个错误或预期的行为?无论如何,它让我发疯,因为它使任何交互式断点引导的开发几乎不可能。
我的问题:有没有办法在Pycharm中解决这个烦人的行为?
MINIMAL EXAMPLES
>>>一旦我到达指示的断点,就会在交互式调试控制台上输入我的输入。
这有效:
a = 3 # <- put breakpoint here
&GT;&GT;&GT; a = 4
&GT;&GT;&GT;一个
Out [7]:4
这有效:
def test():
a = 3 # <- put breakpoint here
test()
&GT;&GT;&GT; b = 4
&GT;&GT;&GT; B'/ P>
Out [7]:4
这不起作用:
def test():
a = 3 # <- put breakpoint here
test()
&GT;&GT;&GT; a = 4
&GT;&GT;&GT;一个
追踪(最近一次呼叫最后一次):
文件&#34; /redacted/local/lib/python2.7/site-packages/IPython/core/interactiveshell.py",第3035行,在run_code中 exec(code_obj,self.user_global_ns,self.user_ns)
档案&#34;&lt; ipython-input-5-5cd59f58ac08&gt;&#34;,第1行,&lt;模块&GT;
一
NameError:name&#39; a&#39;未定义
这不起作用:
def test():
a = 3
print('just for the sake of placing a breakpoint') # <- put breakpoint here
test()
&GT;&GT;&GT; a = 4
&GT;&GT;&GT;一个
Out [7]:3