假设我写了一个函数,我想调试它。在
PyDev使用它的高级特性(如断点)来帮助调试。在
设置断点后,调试的一种方法是在def main()中或仅在模块的主体中编写函数调用,然后按
按钮。在
是否可以从控制台启动函数及其参数的调试会话?(就像在RStudio或VBA中一样…)
更新:
我真的不知道,是什么神奇的点击组合,使交互式调试成为可能。在
下面是我要做的,即不工作(在Ubuntu 14.04和Eclipse 4.4.I20140606-1215上,PyDev 3.6.0.2014062323,Python 3.4.0,IPython 1.2.1)
第一次尝试:
首先,我创建一个新的PyDev项目:
然后插入一个新的.py文件,其中包含一些代码,并创建一些断点:
然后我右键单击代码Debug As...->;Python run。在
然后打开两个控制台,没有一个是IPython。活动控制台名为[Debug console] proba.py。
在这个控制台中输入命令不会使计算机执行它们。在
还有其他可用的控制台,名为proba.py。
这个控制台是完全交互式的,尽管它不是IPython。在
这确实是一个交互式调试器。我们可以单步执行代码并检查变量。不幸的是,不支持更新变量;如果我输入一个命令a=10,则不会更新变量。在
第二次尝试
这次,在启动调试会话之前,让我们尝试启动IPython。在Ctrl+Alt+Enter之后,我选择Console for currently active editor:
然后是Python3(因为这是我需要的):
在那之后,我有了一个完全正常工作的IPython控制台。
当我通过execfile执行文件时,它会触发一个错误Failed to create input stream: Read timed out:
虽然逐步检查代码似乎可以工作,但我无法从IPython控制台访问变量,尽管可以从variables视图访问它们: