lua 垃圾收集器调试输出的最佳方式是什么?

Joe*_*Joe 3 lua garbage-collection

我需要一个lua 中的游戏状态对象(不是 C++ 或绑定到 C++)来管理来自我的 C++ 引擎的灯光、相机、对象、事件(lua 对象是独立于 C++ 的实体,几乎只是标准的 lua 表)。我担心 GC 将如何删除这些对象,因为它们将被动态创建和删除。打开 GC 输出的最佳方法是什么?我的代码中嵌入了 lua 源代码...

Aar*_*ela 5

Lua 垃圾收集器没有任何输出。你在这里有两个选择。

首先,您可以为 Lua 提供一个自定义分配器。这将让您跟踪 Lua 分配和释放内存的方式和时间。这将说明 GC 请求更多内存的频率以及它释放所述内存的频率。您还可以添加分配跟踪,让您在应用程序退出时检测“泄漏”内存。

既然你有源代码,你也可以直接向 Lua 垃圾收集器代码添加检测。它自包含在 lugc.c 中。