Найти все ссылки на объект в Lua

У меня утечка памяти в Lua-части моего приложения. По какой-то причине мой объект не удаляется, когда он должен (даже когда я вызываю collectgarbage ("collect") ). Я полагаю, это означает, что у меня где-то есть свисающая ссылка.

Итак, как я могу получить список того, где находятся различные ссылки на объект? Например:

obj = MyObject()
ref = obj
tbl = {obj}
obj = nil
print(getreferences(obj)) -- should print something like _G.ref, _G.tbl[1]

Я бы просто написал для этого свою собственную функцию, но она не смогла бы найти ссылки, содержащиеся внутри замыканий. Что-нибудь посоветуете?

5
задан Ponkadoodle 23 August 2011 в 18:58
поделиться