【问题标题】:django-pdb when running with nginx/fcgi?使用 nginx/fcgi 运行时的 django-pdb?
【发布时间】:2012-08-05 00:54:09
【问题描述】:

当我执行时它似乎有点工作:

python manage.py runserver <hostname>:<port> --pdb.

发生的情况是它会收到GET 请求,但它实际上不会让我单步执行代码,输出类似于:

[07/Aug/2012 18:27:12] code 400, message Bad request syntax ('\x01\x01\x00\x01\x00\x08\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x01\x04\x00\x01\x02^\x02\x00\t\x11PATH_INFO/app/0/test/\x0e\x03REQUEST_METHODGET\x0c\x00CONTENT_TYPE\x0
e\x00CONTENT_LENGTH\x0c\x00QUERY_STRING\t\rHTTP_HOSTxx.xxx.xxx.xx\x0f')
HTTP_HOSTxx.xxx.xxx.xx" 400 -^       PATH_INFO/app/0/test/REQUEST_METHODGETCONTENT_TYPECONTENT_LENGTHQUERY_STRING
[07/Aug/2012 18:27:12] code 400, message Bad request syntax ('\x01\x01\x00\x01\x00\x08\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x01\x04\x00\x01\x02\x00\x00\x00\t\x0cPATH_INFO/favicon.ico\x0e\x03REQUEST_METHODGET\x0c\x00CONTENT_TYPE\x0e\
x00CONTENT_LENGTH\x0c\x00QUERY_STRING\t\rHTTP_HOSTxx.xxx.xxx.xx\x0f')
HTTP_HOSTxx.xxx.xxx.xx" 400 -

我相信您可以想象,在调试时,这并不能说明太多(至少,对于具有我知识水平的人来说)。

不过,由于我在开发服务器(不是本地主机)上运行 nginx,我希望能够以某种方式做到:

python manage.py runfcgi host=<hostname> port=<port> --settings=myproject.settings --pdb #<--this flag fails

即,该命令带有 --pdb 调用标志,一旦我通过浏览器向要调试的页面发送 get 请求,该命令就会进入 shell。

那么,这可能吗?

【问题讨论】:

  • 我认为 django pdb 只对 runserver 命令有效。有什么理由必须使用 runfcgi 进行调试?

标签: django nginx webserver pdb fastcgi


【解决方案1】:

试试 rpdb,remote debugger based on pdb

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-26
    • 1970-01-01
    • 2017-10-18
    • 2010-10-10
    • 1970-01-01
    • 2011-01-15
    • 2011-04-14
    • 2018-08-11
    相关资源
    最近更新 更多