0

在我通过 Gosu 和 Chingu 使用 OpenGL 的小型 Rub​​y 项目中,我现在看到在我的测试过程中出现了许多这样的错误:

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 可以帮我弄清楚这里发生了什么吗?我在这里调查的下一步应该是什么?

4

1 回答 1

1

这看起来相关。如果您在应用程序中使用显式线程,请检查您是否可以注册他们在那里提到的清理小部件。如果没有,请尝试清除 gem 依赖项下的 C++ 并查看是否无法 grep 那里。

于 2011-10-10T22:35:48.040 回答