2

有没有办法在python代码运行期间跟踪对象的生命周期?我知道用于设置回调的 sys.settrace 函数,我可以在每个函数调用或代码行上停止,但是在此期间如何访问“活动”对象?我想跟踪程序,以便在每次停止后进行随机检查,就好像我真的在源代码的停止位置添加了代码一样。

4

1 回答 1

2

CPython 中的 gc(垃圾收集器)模块可以在某种程度上完成。

垃圾收集器 使用对象作为参数的函数很少,可以提供有关对象存在的一些信息:

gc.get_referrers(*objs)
gc.get_referents(*objs)
gc.is_tracked(obj)

要简单地检查对象是否存在,请使用此处所述的“尝试”

于 2014-01-14T16:51:26.450 回答