是否可以?调试是指设置断点、检查值并逐步推进。
9 回答
您可以使用winpdb通过 TCP/IP 对 python Web 应用程序进行远程调试。
(截至 2019 年 6 月,链接显示已关闭。试试PyPI winpdb)
我没有使用过 web2py,但如果它在终端窗口中运行,你可以使用标准的 pdb 东西。在代码中的某处添加这一行:
import pdb; pdb.set_trace()
这将调用调试器并中断。然后您可以使用PDB命令:n 跳到下一行,l 列出代码,s 跳入函数,p 打印值等。
可以使用以下设置调试基于 Web2py 构建的应用程序:
- Eclipse IDE
- 将 Pydev 安装到 Eclipse
- 根据需要在代码上设置断点
- 在 Eclipse 中,右键单击文件 web2py.py 并选择 Debug As -> Python Run
- 当断点被击中时,Eclipse 将跳转到断点,您可以在其中检查变量并单步执行代码
您还可以使用 Visual Studio 2010。方法如下:
- 下载并安装适用于 Visual Studio 的 Python 工具。
- 从现有代码创建一个新项目(File > New > Project From Existing Code...)
- 指定您的 web2py 文件夹并使用默认值。
- 右键单击 web2py.py 并选择Set as Startup File。
- 设置断点并按 F5(运行)或右键单击 web2py.py 并选择Start with Debugging。
如果您已经使用 Visual Studio,这是一个不错的设置。
是的,有可能,由于“跨度预防”,我仍然不允许发布屏幕截图,但这是我网站上托管的完整屏幕截图:
我正在使用 Eclipse 和 PyDev 调试 web2py 应用程序。这是一篇文章: http ://www.web2pyslices.com/main/slices/take_slice/2
正如卡尔所说,这很简单:
- 在 Eclipse 中安装 PyDev
- 右键单击您的 Web2Py 项目,选择 Debug As > Python Run
- 选择 web2py.py 作为要运行的文件
不需要其他插件或下载。
这是一篇关于使用 pdb 调试 python 的文章,它将与 web2py 一起使用。http://sontek.net/debugging-python-with-pdb
@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 的调试器:
请参阅文档。