【问题标题】:How can i debug a python file running on a development server which is not localhost?如何调试在不是本地主机的开发服务器上运行的 python 文件?
【发布时间】:2014-04-28 02:04:15
【问题描述】:

由于一些奇怪的原因,我当前的项目是这样工作的 - 我从开发服务器获取文件并在本地系统中更改文件并将其推送回服务器并在那里进行测试。

由于我无法在本地系统中执行,因此调试很困难。

我可以完全访问我的开发服务器。有什么方法可以连接到 Eclipse 或 IntelliJ 等 IDE 并调试在开发服务器中运行的脚本?

我在 IDE 中看到了一些 ssh 连接选项。在开发服务器中调试文件的任何文章或任何提示都会有所帮助。

我正在使用 python 2.2 !

【问题讨论】:

  • 它是一个 cgi 脚本吗?要不然是啥?为什么不能在本地运行? ...是否足够简单,您可以添加一些打印语句并通过 ssh in 并输入 python <script> 来运行它,我们真的没有足够的信息来帮助您
  • 我可以添加打印语句,但我的目的是检查脚本的流程。嗯,就像断点一样……但我认为这没有任何意义!!!!
  • 断点在 Web 开发环境中没有意义。通常是服务器文件,您将编写一个针对它运行的测试套件/跨度>

标签: python eclipse debugging intellij-idea


【解决方案1】:

获取 PyDev@http://pydev.org/。下载并安装该产品作为 Eclipse 插件。

将 pysrc 目录的内容复制到远程系统。 pysrc 目录位于 PyDev 插件的子目录下。去安装eclipse的地方。如果是/opt/eclipse,则查找/opt/eclipse/plugins/org.python.pydev.debug_xxx.xxx/pysrc。您可以将 pysrc 目录复制到任何您喜欢的远程系统。

更改 python 代码,使其包含对 pydevd.settrace("dev box IP") 的调用

def start(session):
    sys.path.append("/tmp/pysrc") # this can be any folder you copied the pysrc folder in remote system
    import pydevd
    pydevd.settrace("devbox IP") # change this to correct IP

点击工具栏图标,在开发框中的 Eclipse 上启动 pydev 远程调试服务器(P 的图片旁边有一个错误,如果在 pydev 透视图中找不到它,请转到 Debug 透视图)。并在 settrace 语句之后的代码上设置断点。现在在远程服务器上运行代码,代码中断了,你可以在设置断点的开发框中看到。

【讨论】:

    【解决方案2】:

    我不确定您为什么会有这样的设置,但可能SSHFS 可以提供帮助? 它可以为您节省一些来回传输文件的时间,但不能通过 IDE 进行调试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-19
      • 2019-10-21
      • 2018-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-26
      相关资源
      最近更新 更多