断点处的交互式pyDev控制台

时间:2010-01-11 22:56:58

标签: debugging pydev

我正在使用带有Pydev 1.5.3的Aptana Studio来调试我的Django应用程序。我使用PyDev的远程调试器和manage.py中的一些代码,并且大部分时间这个设置都成功运行 - 我可以设置断点,检查变量并通过我的代码继续/继续。

但是,我想在断点处执行任意代码 - 从pdb切换到Eclipse调试之后我真正想念的东西。在调试透视图中有一个交互式控制台,但它对我来说是无效的。

所以我的问题是 - 可以在PyDev中使用远程调试器设置交互式控制台,这可以在断点处“注入”代码吗?

4 个答案:

答案 0 :(得分:1)

经过一番挖掘后,我发现我可以使用表达式视图来访问变量属性并查看类方法的结果,但是在断点处它仍然不是一个完整的控制台。

答案 1 :(得分:1)

奇怪的是,我使用pydev 1.5.6进行远程调试,我可以使用交互式控制台 - 我输入cmmand,点击回车,一段时间后得到结果;检查防火墙是否阻止任何事情(如果您确定,交互式控制台在本地模式下工作)。在pydev源代码中甚至设置设置应该将多少stdout返回给客户端(在字符中),它应该工作

答案 2 :(得分:0)

使用PyDev 1.5.5,它应该

  1. 在“变量”视图中,您可以右键单击名称,然后选择“更改值”。
  2. 控制台也在运行,虽然有点棘手 它仅用于检查和非常奇怪的方式:您必须在“调试服务器”控制台中输入文本,然后您将在“文件名”控制台中获得输出。
    另请注意,您需要按两次输入,留空行。
  3. 虽然记录了“空行”技巧,但关于输入和输出的两个不同控制台的问题却没有,我认为这可能是一个错误。

答案 3 :(得分:0)

在我的开发堆栈上运行Apache + mod_wsgi,将命令输入控制台,其输出路由到站点的错误日志。要解决此问题,您已将stdoutToServer=TruesterrToServer=True设置为将捕获所有输出路由到PyDev远程调试器:

from pydevsrc import pydevd;pydevd.settrace('192.168.2.8', stdoutToServer=True, stderrToServer=True) #clone and put on python path: https://github.com/tenXer/PyDevSrc