【问题标题】:Remote debugging of Python server with rpdb使用rpdb远程调试Python服务器
【发布时间】:2018-12-17 09:28:38
【问题描述】:

我需要调试远程服务器,Python。

我的 Python 应用程序正在某个服务器上的 Docker 容器中运行,并且我可以 ssh 访问该服务器。

对于远程调试,我想使用rpdb(我不知道其他工具)。

我的步骤:

  1. 通过 ssh 进入远程服务器
  2. pip install rpdb
  3. 添加到代码行import rpdb; rpdb.Rpdb(port=5555).set_trace()
  4. 运行./redeploy.sh(此命令将运行我的应用程序)
  5. telnet 127.0.0.1 5555

结果我得到:

ubuntu@ip-10-1-0-345:~$ telnet 127.0.0.1 5555
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

我打开应该调用rpdb 的url,但我什么也没得到。那么,我如何从命令行访问rpdb

【问题讨论】:

  • @caio 你能帮忙吗?
  • 你需要连接到你的服务器IP地址,而不是localhost(127.0.0.1)一个。此外,您需要将容器和主机操作系统之间的网络配置为转发您的传入连接
  • 请展示您如何启动 docker 容器以检查是否可以从主机操作系统访问端口

标签: python django docker remote-debugging pdb


【解决方案1】:

您只需将addr 参数添加到Rpdb() 即可接受连接。

看起来像这样:

import rpdb; rpdb.Rpdb(addr='0.0.0.0', port=5555).set_trace()

不要忘记将EXPOSE 5555 添加到您的Dockerfile 并映射正在运行的容器上的端口。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-07
    • 2010-10-21
    • 2015-03-20
    • 2016-07-24
    • 1970-01-01
    • 2013-07-13
    • 2015-01-09
    • 1970-01-01
    相关资源
    最近更新 更多