Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
有没有办法在python代码运行期间跟踪对象的生命周期?我知道用于设置回调的 sys.settrace 函数,我可以在每个函数调用或代码行上停止,但是在此期间如何访问“活动”对象?我想跟踪程序,以便在每次停止后进行随机检查,就好像我真的在源代码的停止位置添加了代码一样。
CPython 中的 gc(垃圾收集器)模块可以在某种程度上完成。
垃圾收集器 使用对象作为参数的函数很少,可以提供有关对象存在的一些信息:
gc.get_referrers(*objs) gc.get_referents(*objs) gc.is_tracked(obj)
要简单地检查对象是否存在,请使用此处所述的“尝试”