Python 如何捕获和重新创建完整的Django程序状态?

Python 如何捕获和重新创建完整的Django程序状态?,python,django,debugging,Python,Django,Debugging,当用户遇到异常时,或者看到bug并报告它时,能够捕获并重新创建精确的程序状态以进行调试将非常有用 假设一个用户遇到问题,您能够重新创建并调试它——即,在您的开发机器上,使用当时制作的数据库副本,进入Werkzeug风格的交互式跟踪或ipdb提示符 在异常时间或按需转储数据库副本似乎很容易。但是如何重新创建程序状态并进入Werkzeug跟踪或ipdb提示符?是否有任何工具或Django应用程序可以执行类似操作?您是否尝试过raven+sentry设置,它具有重播请求功能。它不捕获db状态,但您可以

当用户遇到异常时,或者看到bug并报告它时,能够捕获并重新创建精确的程序状态以进行调试将非常有用

假设一个用户遇到问题,您能够重新创建并调试它——即,在您的开发机器上,使用当时制作的数据库副本,进入Werkzeug风格的交互式跟踪或ipdb提示符


在异常时间或按需转储数据库副本似乎很容易。但是如何重新创建程序状态并进入Werkzeug跟踪或ipdb提示符?是否有任何工具或Django应用程序可以执行类似操作?

您是否尝试过raven+sentry设置,它具有重播请求功能。它不捕获db状态,但您可以非常轻松地编写自己的处理程序。如果您只想使用自己的方法来实现这一点,您可以使用
pickle
模块将python对象转储到异常处理程序中的文件中。我想看看它们有一个回复系统。