在我通过 Gosu 和 Chingu 使用 OpenGL 的小型 Ruby 项目中,我现在看到在我的测试过程中出现了许多这样的错误:
2011-09-30 23:31:01.789 ruby[832:903] *尝试弹出一个未知的自动释放池 (0x12c55a00)
更新:我现在也看到其中一些表格,肯定表明存在泄漏:
2011-10-01 03:50:00.281 ruby [3212:903] * __NSAutoreleaseNoPool(): NSCFNumber 类的对象 0x461aa0 自动释放,没有适当的池 - 只是泄漏
2011-10-01 03:50:00.282 ruby[3212:903] * __NSAutoreleaseNoPool(): NSConcreteValue 类的对象 0x461ae0 自动释放,没有适当的池 - 只是泄漏
2011-10-01 03:50:00.283 ruby[3212:903] * __NSAutoreleaseNoPool(): NSCFNumber 类的对象 0x10ce230 自动释放,没有适当的池 - 只是泄漏
2011-10-01 03:50:00.285 ruby[3212:903] * __NSAutoreleaseNoPool(): NSConcreteValue 类的对象 0x42abb0 自动释放,没有适当的池 - 只是泄漏
2011-10-01 03:50:00.286 ruby [3212:903] * __NSAutoreleaseNoPool(): NSCFDictionary 类的对象 0xa031570 自动释放,没有适当的池 - 只是泄漏
关于这可能是什么原因的任何想法?这对我来说有点神秘 - 或者至少它没有提供足够的背景让我立即诊断。它似乎不会导致任何测试失败或任何事情,但我确定我正在泄漏内存 - 我猜可能是因为没有正确关闭资源,但我不确定该怎么做关于追踪这个。ruby-debug 可以帮我弄清楚这里发生了什么吗?我在这里调查的下一步应该是什么?