2011-11-21 65 views
6

我有一个相当大的PHP脚本泄漏内存。我已经能够找出哪个对象正在泄漏,但是我一直无法找出它正在泄漏的脚本中的哪个位置。我的脚本的某些部分保留对泄漏对象的引用。调试PHP内存泄漏。跟踪引用计数?

是否有某种办法,我可以跟踪(以及优选地回溯)其中/当PHP对象已经它的引用计数增加或减少?

回答

2
+1

谢谢。我熟悉XDebug和函数追踪。但是你知道如何使用它来跟踪我的代码中引用泄漏对象的位置吗? –

+0

你可以尝试跟踪与webgrind它会告诉你所有的调用函数的方法,它不会显示内存使用情况,但我想你可能花费的时间使用率 –

1

尝试使用:

另外,我建议写在一个易于调试方式的代码,并从代码中分离调试程序。

+0

我已经使用XDdebug找出对象泄漏跟踪他们。我现在想知道的是它泄漏的地方?即在我的代码中哪些地方保留了该对象的引用?可以使用XDebug吗? –

+0

你如何使用断点来定位物体泄漏的位置?很难与“一般”解决方案。 –

+1

因此我的问题。我曾希望当Zend引擎增加或减少一个对象的内部引用计数时有某种方式可以跟踪或触发。 –