【问题标题】:How does one debug a fastcgi application?如何调试 fastcgi 应用程序?
【发布时间】:2009-05-27 03:32:40
【问题描述】:

如何调试 FastCGI 应用程序?我有一个正在死去的应用程序,但我不知道为什么,即使它可能会在 stderr 上抛出堆栈跟踪。从命令行运行它会导致错误提示:

RuntimeError: No FastCGI Environment: 88 - Socket operation on non-socket

如何设置“FastCGI 环境”以进行调试?这不是我的应用程序——它是第 3 方开源应用程序——所以我宁愿避免添加一堆日志来找出问题所在。

如果重要的话,应用程序是 Python,但 FastCGI 是 FastCGI,对吗?是否有 shim 或其他东西可以让您从命令行调用 fastcgi 程序并将其连接到终端,以便您可以看到它的 stdout/stderr?

【问题讨论】:

  • 什么框架? “调试”是什么意思?
  • 为什么不通过日志来调试呢?
  • ...因为正如我所说,“这不是我的应用程序”,所以我希望能够观察正在进行的 fastcgi 事务并可能调试这些事务,或者从命令行并能够看到它在 stdout/stderr 上输出的任何内容。
  • 日志记录是一种非常糟糕的调试方式。附加到进程的调试器将比添加大量日志更快地提供更多信息。

标签: python debugging web-applications fastcgi


【解决方案1】:

应用程序是 Python 确实很重要;您的问题实际上是“当我自己不启动脚本时如何调试 Python”。

您想使用远程调试器。出色的 WinPDB 具有 some documentation on embedded debugging,您应该可以使用它来附加到您的 FastCGI 应用程序并逐步完成它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-30
    • 2013-06-22
    • 2023-03-02
    • 2011-10-21
    • 2019-01-06
    • 2013-08-15
    相关资源
    最近更新 更多