2013-03-07 89 views
0

我想配置XDebug的用於cachegrind但我不能管理,使以探查功能轉儲執行網頁配置cachegrind。麻煩與Xdebug的

我使用the official guide(和幾個類似的設置),它似乎並沒有工作。

我試着在我的兩個Linux機器(Ubuntu和Fedora的)的。 Xdebug對於調試工作正常,我可以爲應用程序啓動valgrind --tool=cachegrind,所以兩者都應該正確安裝。

我被激活,並在php.ini中停用profiler_enable和profiler_enable_trigger選項,並重新啓動服務器,沒有運氣。改變了輸出目錄,因爲我認爲它可能與權限有關。使用URL中的?XDEBUG_PROFILER=1標誌作爲參數似乎也沒有幫助。

相關cachegrind的配置的任何其他線索?

+0

是否顯示日誌?如果是這樣,那麼'phpinfo();'對你的xdebug設置說些什麼? – Wrikken 2013-03-07 00:08:58

+0

[phpinfo日誌](http://pastebin.com/yXptLJ6U) - 沒有錯誤日誌線索和設置應該罰款imo – 2013-03-07 00:12:51

+0

你可以發佈你的xdebug.ini嗎? – hek2mgl 2013-03-07 00:14:35

回答

2

以下基本xdebug.ini應該做的伎倆:

; check that the path is ok for you 
zend_extension=/usr/lib/php5/20090626/xdebug.so 
xdebug.profiler_enable=1 
xdebug.profiler_output_name = cachegring.out.%s 
xdebug.profiler_output_dir = /tmp 

需要注意的是它能夠爲每個請求的是一個顯著的性能問題剖析。但是,你應該測試這是否工作。如果您看到它的工作原理,請按照默認值禁用它。


關於valgrind。

請注意,這是不可能的你正在嘗試做的。 xdebug事件探查器不適用於/連接到valgrind。它只是使用與valgrind相同的輸出格式。因此,格式是一樣的,例如:

valgrind --tool=cachegrind --cachegrind-out-file=test.cachegrind ls -al 

通常你會使用一個GUI程序像kcachegrind Linux和wincachegrind在Windows上分析cachegrind文件。

+0

謝謝。 Xdebug路徑很好,運行平穩 - 我已經使用Xdebug的調試功能2年了,由於某種原因我無法將其連接到cachegrind - 無論是權限,還是不正確的cachegrind路徑或其他。 – 2013-03-07 00:21:53

+0

我不確定是否有可能嘗試做什麼。我通常使用'kcachegrind'來分析cachegrind文件。你現在在/ tmp中看到cachegrind文件嗎? – hek2mgl 2013-03-07 00:22:51

+0

在上面的線程中評論 - 事實證明,它是Valgrind的安裝問題,重新安裝使它工作。我在這裏鼓勵所有的建議,因爲他們都證實了我的方法,這就是我從頭開始重新設置設置的原因。謝謝! – 2013-03-07 11:11:04