【问题标题】:How can I debug Python code without running a script (using Eclipse)?如何在不运行脚本(使用 Eclipse)的情况下调试 Python 代码?
【发布时间】:2011-08-09 17:17:50
【问题描述】:

我注意到从 Eclipse 调试 Python 脚本是多么容易。只需设置断点并从调试菜单运行 Python 脚本。但是是否可以启动 Python 交互式解释器而不是运行特定的 Python 脚本,同时仍然让 Eclipse 在断点处中断?这将使测试函数变得如此更容易。

感谢您的帮助


仍在寻找一种简单/ish 的方式来在 Eclipse->PyDev 中启动调试器,让我可以使用交互式调试器。目前还没有一个答案是可以接受的

【问题讨论】:

  • 我不确定 eclipse,但 vanilla pdb 可以做到。
  • 你有没有用 vanilla 作为形容词?
  • 是的。 python -m pdb ... 是我的意思。
  • 酷。不过,我仍然希望在 Eclipse 中使用它 :-)
  • 我在 Vim 中做。也许你可以切换到 Vim? ;-)

标签: python eclipse debugging aptana


【解决方案1】:

您可以显式编写代码以在脚本中设置断点,然后“远程调试”。这意味着无论脚本在哪里运行,都将 pydevd 放在脚本的 pythonpath 中,并在 devbox 上运行 eclipse pydev 远程调试器。如果这一切都发生在同一台机器上,这相当简单。 如果没有,您需要在调用 settrace() 时指定运行 python 远程调试器的开发机器的主机名。您还需要在运行脚本的机器上提供 pydevd。

我在过去无需在运行脚本的机器上安装 eclipse+pydevd 就可以正常工作。这并不完全简单,如果你走那条路,我建议检查 pydevd 版本是否匹配,或者至少你知道它们是兼容的。否则你最终会浪费时间调试调试器。

详情见:Pydev Remote Debugger

【讨论】:

  • 我不得不说,我已经阅读了您的帖子和链接,但我看不出您的回答与我的问题有什么关系:P 我只想在 PyDev 中设置断点并开始交互式解释器
【解决方案2】:

这样呢,在脚本中,你可以写一个函数,比如说onlyForTest,然后每次你写一个新函数想测试它,你可以把它放在onlyForTest函数中,然后指定一些需要的参数刚刚写的新函数,然后打开交互式python shell,导入脚本,调用onlyForTest函数,查看结果。

【讨论】:

  • 这就是我现在正在做的事情 :) 不过我真的更喜欢使用交互式解释器。
  • 唉,由于没有更好的答案,我将这个标记为正确,因为这是我一直在做的事情。
猜你喜欢
  • 2016-03-29
  • 2011-06-26
  • 2012-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多