我的应用程序的Lua部分有内存泄漏。无论出于何种原因,我的对象都不会被删除(即使我打电话给collectgarbage("collect")
)。我认为这意味着我有一个悬挂的参考。
那么我怎样才能获得对象的各种引用所在的列表?例如:
obj = MyObject()
ref = obj
tbl = {obj}
obj = nil
print(getreferences(obj)) -- should print something like _G.ref, _G.tbl[1]
我只是为此编写自己的函数,但它无法找到包含在闭包中的引用。有什么建议吗?