我该如何远程调试Django应用程序?

3
我创建了一个Django应用程序,在我的电脑上运行良好。
之后我在测试服务器上检查它,但是有些东西不起作用。
我该如何调试它?
是否可以使用PyDev Eclipse插件或其他方法来实现?
最好的情况是我想使用“步入(step into)”,“步过(step over)”,“步出(step out)”,但如果不可能,简单的日志记录也可以。
更新:
在我的电脑上,它使用./manage.py runserver运行,但在测试机器上,它使用Apache+mod_wsgi运行。

尝试使用PyCharm吧。我对它的功能感到满意(包括远程调试)。 - endre
3个回答

3
这是一个关于通过mod_wsgi部署应用程序进行调试的指南: http://code.google.com/p/modwsgi/wiki/DebuggingTechniques 你有测试机器的root访问权限吗?这会使调试变得更加容易。您可以停止Apache服务并将其带到单进程模式以进行调试。

嗨,谢谢提供链接,我现在会去看一下。是的,我可以访问测试机器,但是我的机器上的操作系统是Linux,而测试机器上的操作系统是Windows Server。 - gennad
我如何在单个进程中启动它? - gennad
鉴于这是Windows系统,应该有一个“在控制台中启动Apache”的选项。 - Shamit Verma

1
最简单的方法就是暂时将DEBUG = True设置为真,这对于大多数问题来说应该足够了。如果您正在生产环境中,并且因为安全问题不想更改该设置,我建议使用sentryscreenshot),它提供了一个非常好的仪表板式概述,显示了在您的Django网站上发生的错误和问题。

不幸的是,这两种解决方案都无法提供逐行调试。


0
我会建议使用https://github.com/django-extensions/django-extensions - 这是一个插件,可以为Django添加许多功能。其中之一是./manage.py runserver_plus,它可以在服务器出现错误时添加终端以显示错误信息(等等)。这对于调试非常理想。
不确定如何在wsgi中使用它,但快速搜索应该能找到几个结果。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接