由于我是web2py的新手,我想知道调试web2py应用程序的方法有哪些。到目前为止,我遇到了以下情况:
在web2py应用程序中发生运行时错误时,会生成错误凭单,并且故障单中通常包含有用的信息。
但是,有时页面上只有一条普通的错误消息,例如“错误的请求”。而已。那么在这种情况下追踪出现问题的最佳方法是什么呢?日志记录?如果是这样,我们如何正确地做到这一点?
如果未显示明显的错误消息,但应用程序未按预期执行。通常,我使用带断点的调试器来检查它。还有其他建议吗?
非常欢迎任何经验/见解。
答案 0 :(得分:3)
您可以通过添加单元测试来检测模型或控制器层的错误。这将有助于缩小调试工作范围,尤其是在错误故障单系统出现故障时。不幸的是,web2py文档并没有足够强调单元测试的重要性。您可以使用
在控制器上运行doctestspython web2py.py -T <application_name>
由于模型图层为每个控制器运行,因此您至少会在模型层中找到语法错误。
答案 1 :(得分:3)
最新版本有一个集成的调试器。您可以在代码上设置断点并逐步执行。
答案 2 :(得分:0)
其他建议很好。我还建议使用Wing IDE调试器。它不是很昂贵,并且通常适用于Python和web2py。
Wing具有远程调试功能 - 在您使用远程应用服务器进行生产式部署时非常有用。这种能力可以多次保存我的培根。
答案 3 :(得分:0)
正如@Derek指出的那样, integrated debugger用于web2py
您可以从集成的Web2py编辑器中设置一个断点(单击“切换断点”),或如上面的链接中所示手动设置它。
一旦达到断点,就可以打开http://localhost:8000/admin/debug/interact(如果在本地运行以评估该点的任何表达式。