【问题标题】:How to debug Python script which is automatically called inside a web application?如何调试在 Web 应用程序中自动调用的 Python 脚本?
【发布时间】:2015-11-17 13:04:44
【问题描述】:

我正在为graphite-api 开发一个cassandra 存储查找器。 graphite-api 是通过 pip 安装并通过 gunicorn 运行的,所以我不能只用调试器调用脚本,而是想使用交互式调试。

当我在存储查找器中导入pdb 并设置断点时,代码将停在那里,但我现在如何连接到脚本中正在运行的无头 pdb? 还是我解决这个调试问题的方法是错误的,必须以完全不同的方式完成?

【问题讨论】:

    标签: python debugging cassandra pdb graphite


    【解决方案1】:

    pdb 将控制权交给 gunicorn,这不是您想要的。看看 rpdb 或其他远程调试解决方案。

    【讨论】:

    • rpdb 正是我正在寻找的。我查看了一些 python 远程调试页面,但它们似乎都没有给我一个有用的远程调试解决方案。 rpdb 在运行到 rpdb.set_trace() 时会停止整个 gunicorn 工作进程,然后我可以通过 netcat 连接并开始调试。对任何其他搜索此内容的用户有用的信息,您必须以非常高的 --timeout 参数值启动 gunicorn,因为它会在 30 秒后杀死挂起的工作进程
    猜你喜欢
    • 1970-01-01
    • 2021-03-02
    • 2011-08-06
    • 2017-02-09
    • 1970-01-01
    • 2022-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多