如何找到忽略异常的__del__成员?

时间:2015-10-08 08:22:58

标签: python python-2.7 debugging

该案例类似于this,即我在stdout上收到警告输出:

Exception RuntimeError: 'maximum recursion depth exceeded while calling a
Python object' in 'sage.structure.parent.good_as_coerce_domain' ignored

函数good_as_coerce_domain()cdef编辑的Cython函数,项目没有__del__成员函数。该功能仅包含

cdef inline bint good_as_coerce_domain(S):
    return isinstance(S,CategoryObject) or isinstance(S,type)

并且在启动期间被称为数十次,甚至数百次。插入print语句会为我提供S对象,但这不是__del__的对象。相反,它似乎发生在isinstance调用期间。

更改堆栈深度无法解决问题。由于责任__del__可能在Python本身,我需要

  • 一种了解__del__导致消息的对象类型的方法,或
  • 关闭消息的方法

但前者更可取。

0 个答案:

没有答案