我在 virtualenv 中使用 Flask 0.9 和 Python 2.7.1,并使用foreman start
在我将以下行添加到我的应用程序时构建的其他应用程序中:
import pdb; pdb.set_trace()
然后重新加载浏览器窗口,我的终端窗口显示 pdb 交互式调试器:
(pdb)
但是,在我的应用程序中,当我添加这些行时,什么也没有发生。浏览器窗口挂起并显示恒定的加载状态,但控制台中没有显示任何内容。
有什么魔法需要发生吗?
这是因为您使用的是 Foreman,它捕获标准输出。
要使用 调试您的应用程序pdb
,您需要“手动”运行它,使用python app.py
或任何您使用的东西。
或者,您可以使用WinPDB(尽管名称与操作系统无关),它可以让您远程调试 Python 进程。当程序在另一台服务器上运行时,您甚至可以使用它。