捕获通过Django开发服务器

问题描述:

捕获的异常,我希望在Django的开发服务器的一些方法,这将使服务器在任何未捕获的异常自动停止,因为它是在IPython的控制台PDB模式下进行。捕获通过Django开发服务器

我知道把进口PDB;将pdb.set_trace()换行到代码中以停止应用程序。但是这对我没有帮助,因为引发异常的行被调用了太多次。所以我找不到确切的条件来定义一个条件断点。

这可能吗?

谢谢...

您可以设置sys.excepthook到执行import pdb; pdb.pm(),按照this recipe功能。

+0

不知何故,我不能重写sys.excepthook: http://*.com/questions/1261668/cannot-override-sys-excepthook 这是正常的吗? – 2009-08-11 16:59:28

+0

@Mert,为我解释回答这个问题,IPython中(在这个问题你提到你使用的)是不同的。因此,要么运行'ipython -pdb',要么运行这个excepthook覆盖的普通'python'。 – 2009-08-12 01:02:52

+0

@亚历克斯,感谢您的解释。 我有一个问题: 我可以通过重写sys.excepthook捕捉任何未捕获的异常,当我运行一个Python脚本。那很好。 但是当我运行Django的服务器这个配方不起作用。这个异常是由django捕获和记录的。 是否有可能让pdb捕获异常? – 2009-08-12 08:55:39