如何调试Web2py应用程序?

19

这是可能的吗?我的意思是通过设置断点、检查变量值并逐步执行调试。


1
标题上写着win2py,标签上写着web2py。你能纠正其中之一吗? - Ned Batchelder
9个回答

10
您可以使用Winpdb通过TCP/IP远程调试Python Web应用程序。

(截至2019年6月,链接似乎无法访问。请尝试PyPI winpdb


链接已损坏。 - Pacerier

8

可以使用以下设置来调试使用Web2py构建的应用程序:

  1. Eclipse IDE
  2. 将Pydev安装到Eclipse中
  3. 根据需要在代码上设置断点
  4. 在Eclipse中右键单击文件web2py.py,然后选择Debug As -> Python Run
  5. 当遇到断点时,Eclipse将跳转到断点处,您可以检查变量并逐步执行代码

8

我没有使用过web2py,但如果它在终端窗口中运行,您可以使用标准的pdb调试工具。请在代码的某个地方添加以下行:

import pdb; pdb.set_trace() 

这将调用调试器并停止。然后,您可以使用PDB命令:n跳到下一行,l列出代码,s进入函数,p打印值等。


6
你也可以使用Visual Studio 2010。以下是操作步骤:
  • 下载并安装Python Tools for Visual Studio
  • 从现有代码创建新项目(文件 > 新建 > 从现有代码创建项目...
  • 指定你的web2py文件夹并使用默认设置。
  • 右键单击web2py.py并选择设为启动文件
  • 设置断点,按F5(运行)或右键单击web2py.py并选择带调试启动
如果你已经在使用Visual Studio,这是一个不错的设置。

1

1

0
如Carl所述,操作非常简单:
  1. 在Eclipse中安装PyDev
  2. 右键单击您的Web2Py项目,选择Debug As > Python Run
  3. 选择web2py.py作为要运行的文件

无需其他插件或下载。


0

0
@Ned Batchelder几乎是对的,但在web2py中做的标准方法略有不同。
而不是使用`import pdb; pdb.set_trace()`,你需要使用以下代码:
from gluon.debug import dbg
dbg.set_trace()

执行 Web 应用程序时,当它到达代码的这个部分时,应用程序将会冻结。然后,您可以访问 http://127.0.0.1:8000/admin/debug/interact(使用您的应用程序的根 URL),它将显示一个完全交互式的基于 Web 的调试器:

enter image description here

请参阅文档

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