Lua中如何追踪对象所有引用的debugging方法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计237个文字,预计阅读时间需要1分钟。
我的应用程序的Lua部分存在内存泄漏。无论出于何种原因,我的对象都不会被删除(即便我调用collectgarbage(collect))。我认为这意味着我有一个悬垂的引用。那么我该如何才能获取到对象的各类引用呢?
那么我怎样才能获得对象的各种引用所在的列表?例如:
obj = MyObject() ref = obj tbl = {obj} obj = nil print(getreferences(obj)) -- should print something like _G.ref, _G.tbl[1]
我只是为此编写自己的函数,但它无法找到包含在闭包内的引用.有什么建议?
有一个工具可以遍历整个Lua宇宙.见 lua-users.org/lists/lua-l/2006-07/msg00110.html本文共计237个文字,预计阅读时间需要1分钟。
我的应用程序的Lua部分存在内存泄漏。无论出于何种原因,我的对象都不会被删除(即便我调用collectgarbage(collect))。我认为这意味着我有一个悬垂的引用。那么我该如何才能获取到对象的各类引用呢?
那么我怎样才能获得对象的各种引用所在的列表?例如:
obj = MyObject() ref = obj tbl = {obj} obj = nil print(getreferences(obj)) -- should print something like _G.ref, _G.tbl[1]
我只是为此编写自己的函数,但它无法找到包含在闭包内的引用.有什么建议?
有一个工具可以遍历整个Lua宇宙.见 lua-users.org/lists/lua-l/2006-07/msg00110.html
