调试Web2py应用程序的不同方法

5
作为一个刚接触web2py的新手,我想知道有哪些方法可以调试web2py应用程序。到目前为止,我遇到了以下几种情况:
  1. 当web2py应用程序发生运行时错误时,会生成一个错误票,并在票中包含通常有用的信息。

  2. 然而,有时页面上只有一个简单的错误消息,例如 "bad request"。那么在这种情况下追踪错误的最佳方式是什么?使用日志记录?如果是这样,我们该如何正确地记录日志?

  3. 如果没有明显的错误消息显示,但应用程序的表现不如预期。通常,我使用带断点的调试器来检查它。还有其他建议吗?

欢迎分享任何经验/见解。
4个回答

3

您可以通过添加单元测试来检测模型或控制器层的错误。这将有助于缩小调试范围,特别是当错误票务系统失效时。不幸的是,web2py文档没有充分强调单元测试的重要性。您可以在控制器上运行doctests。

python web2py.py -T <application_name>

由于模型层对每个控制器都运行,因此您至少会在模型层中发现语法错误。


3
最新版本已经集成了一个调试器。您可以在代码上设置断点并逐步执行。

0
如 @Derek 所指出的,Web2py 有一个集成调试器
您可以从集成的 Web2py 编辑器中设置断点(单击“切换断点”)或根据上面的链接手动设置它。
一旦到达断点,您可以打开http://localhost:8000/admin/debug/interact(如果在本地运行),以评估该点的任何表达式。

0
其他建议都很好。我还想建议使用Wing IDE调试器。它的价格不是很贵,而且通常与Python和web2py兼容。
Wing具有远程调试功能——在通过远程应用程序服务器进行生产部署时非常有用。这种功能在许多情况下都拯救了我。

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