2011-11-21 69 views
6

我有一個相當大的PHP腳本泄漏內存。我已經能夠找出哪個對象正在泄漏,但是我一直無法找出它正在泄漏的腳本中的哪個位置。我的腳本的某些部分保留對泄漏對象的引用。調試PHP內存泄漏。跟蹤引用計數?

是否有某種辦法,我可以跟蹤(以及優選地回溯)其中/當PHP對象已經它的引用計數增加或減少?

回答

2
+1

謝謝。我熟悉XDebug和函數追蹤。但是你知道如何使用它來跟蹤我的代碼中引用泄漏對象的位置嗎? –

+0

你可以嘗試跟蹤與webgrind它會告訴你所有的調用函數的方法,它不會顯示內存使用情況,但我想你可能花費的時間使用率 –

1

嘗試使用:

另外,我建議寫在一個易於調試方式的代碼,並從代碼中分離調試程序。

+0

我已經使用XDdebug找出對象泄漏跟蹤他們。我現在想知道的是它泄漏的地方?即在我的代碼中哪些地方保留了該對象的引用?可以使用XDebug嗎? –

+0

你如何使用斷點來定位物體泄漏的位置?很難與「一般」解決方案。 –

+1

因此我的問題。我曾希望當Zend引擎增加或減少一個對象的內部引用計數時有某種方式可以跟蹤或觸發。 –