我有一个长期运行的进程,可能会有资源泄漏.如何在我的环境中获取所有实例化对象(可能只有特定类)的列表?
解决方法
试试
gc.get_objects()
:
>>> import gc >>> >>> class Foo: pass ... >>> f1 = Foo() >>> >>> [o for o in gc.get_objects() if isinstance(o,Foo)] [<__main__.Foo instance at 0x2d2288>] >>> >>> f2 = Foo() >>> >>> [o for o in gc.get_objects() if isinstance(o,Foo)] [<__main__.Foo instance at 0x2d2288>,<__main__.Foo instance at 0x2d22b0>]