我知道这个问题接近于实现特定的领域,但在这一点上,Rakudo/MoarVM 的特定答案也会对我有所帮助。
我正在研究一些 NativeCall 模块,并且想知道如何调试内存泄漏。一些内存是在 C 库中处理的,我在那里处理得很好。我知道域是我的责任,MoarVM 在那里无能为力。我可以在 MoarVM 域中做什么?检查悬空对象、循环引用等的最佳方法是什么?
有没有办法在一系列操作结束时,我认为我所有的 Perl 对象都超出了“运行垃圾收集并告诉我剩下的事情”的范围?
我可以运行一些 Rakudo/NQP/MoarVM 特定代码来帮助我吗?这不是在生产中发布,只是为了在我开发时进行测试/诊断。
MoarVM 中的垃圾收集提供了一个诱人的概述,但没有足够的信息让我用它做任何事情。