繁体   English   中英

PyDev:如何从控制台调用特定于调试的命令(带断点)?

[英]PyDev: How to invoke debugging specific command from console (with breakpoints)?

假设我写了一个函数,我想调试它。

PyDev通过其高级功能(如断点)帮助调试很多。

设置断点后,一种调试方法是在def main()或在模块的主体中​​写入函数的调用,并按下 在此输入图像描述 按钮。

是否可以从控制台启动函数的调试会话及其参数? (就像在RStudio或VBA中一样......)


这个问题是pydev的重复:在控制台模式下调试(交互式)?


更新:我真的不知道,点击的神奇组合是什么,使交互式调试成为可能。

这是我的工作 ,这是行不通的 (在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

然后打开2个控制台,其中没有一个是IPython。 活动控制台名为[Debug console] proba.py [调试控制台] proba.py 在此控制台中键入命令不会使计算机执行它们。

还有其他可用的控制台,名为proba.py <code> proba.py </ code>控制台 这个控制台是完全交互式的,虽然它不是IPython

这确实是一个交互式调试器。 可以单步执行代码并检查变量。 不幸的是,不支持更新变量; 如果我输入命令a=10则变量不会更新。

第二次尝试

这次,在启动调试会话之前,让我们尝试启动IPython。 按Ctrl + Alt + Enter后,我选择Console for currently active editor

在此输入图像描述

然后Python3(因为这是我需要的): 在此输入图像描述

之后我有一个完全工作的IPython控制台。 IPython控制台

当我通过execfile执行文件时,它会触发错误Failed to create input stream: Read timed out 在此输入图像描述

虽然看起来,通过代码工作,我无法从IPython控制台访问变量,虽然可以从Variables视图访问它们: 在此输入图像描述

实际上,是的,你可以在最新的PyDev版本中做到这一点。

您必须在首选项中启用它,如下所述:

http://pydev.org/manual_adv_interactive_console.html#full-debug-support-in-interactive-console

(即:将控制台连接到调试会话)


编辑(与第2部分相关):

不幸的是,事情就是这样,这是预期的...你的代码在断点中被“阻止”,因此当你在这种模式下的断点时,控制台无法回答你的问题,也无法做任何评估(你只能这样做)此时使用调试器监视/表达式),因此,想法是使用控制台执行操作然后如果需要可以添加断点,但只能在离开断点时再次使用控制台。

请注意,如果要在断点的上下文中使用交互式控制台,则另一种方法是选择堆栈帧(在调试视图中)>右键单击它> pydev> Debug Console(或者您也可以在调试中) view创建一个连接到调试会话的新控制台视图以获得相同的效果)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM