为什么我不能在Python中挑选错误的Traceback?

Tri*_*daz 15 python pickle traceback

我已经找到了解决方法,但仍然想知道答案.

sam*_*ias 21

回溯保存对当前线程上调用的每个函数/方法的堆栈帧的引用,从最上面的帧向下到引发错误的点.每个堆栈帧还保存对在调用堆栈中的每个函数时有效的局部变量和全局变量的引用.

由于pickle无法知道要序列化什么和忽略什么,如果你能够挑选回溯,你最终会挑选整个应用程序状态的移动快照:当pickle运行时,其他线程可能正在修改共享变量的值.

一种解决方案是创建一个可选对象来遍历回溯并仅提取您需要保存的信息.