【发布时间】:2016-01-09 19:23:09
【问题描述】:
这是关于 Pycharm 4.5.1 的。
每当我在函数中的断点处停止时,我都无法在交互式 python 控制台中覆盖或创建函数中定义的任何变量(无论这些函数变量是在断点之前还是之后定义的) .
相比之下,当我的调试点不在函数中时,我可以覆盖当前脚本中定义的任何变量。这是一个错误还是预期的行为?无论如何,它让我发疯,因为它使任何交互式断点引导开发几乎不可能。
我的问题:有什么办法可以解决 Pycharm 中这种烦人的行为?
简单的例子
>>> 指的是我在交互式调试控制台中的输入,一旦我到达指定的断点。
这行得通:
a = 3 # <- put breakpoint here
>>> a = 4
>>> 一个
输出[7]:4
这行得通:
def test():
a = 3 # <- put breakpoint here
test()
>>> b = 4
>>> b
输出[7]:4
这不起作用:
def test():
a = 3 # <- put breakpoint here
test()
>>> a = 4
>>> 一个
Traceback(最近一次调用最后一次):
文件“/redacted/local/lib/python2.7/site-packages/IPython/core/interactiveshell.py”,第 3035 行,在 run_code exec(code_obj, self.user_global_ns, self.user_ns)
文件“
一个
NameError: 名称“a”未定义
这不起作用:
def test():
a = 3
print('just for the sake of placing a breakpoint') # <- put breakpoint here
test()
>>> a = 4
>>> 一个
输出[7]:3
【问题讨论】: