2013-01-24 31 views
3

我在使用Yii框架的PHP項目時遇到了問題。 我的設置如下:Win7 + Eclipse4.2 + PDT 3.1 + Yiiclipse PDT擴展+啓用XDEBUG的WAMP服務器。Eclipse PDT + XDEBUG - 源查找不完全工作

幾乎一切正常。調試會話開始,它通過項目的index.php源,但是當它跳轉到框架文件時,它不會打開它。我編輯了源代碼查找並添加了框架的本地路徑,但它無法找到它們。

下面是截圖:http://img607.imageshack.us/img607/3687/eclipsepdt.png

http://img607.imageshack.us/img607/3687/eclipsepdt.png

+0

你使用符號鏈接嗎? – Derick

+1

你有沒有嘗試過一些簡單的項目來檢查它是否有效?首先確保是否是Yii具體問題,或者是一些eclipse配置錯誤。 – 2013-02-12 08:58:33

回答

0

這未必是一個答案 - 但你的問題不一定是一個問題提出,所以我覺得這是公平的遊戲:d

我過去曾經在調試,代碼完成等方面遇到過很多Eclipse PDT + xdebug的問題,前一段時間我放棄了它,並切換到Netbeans進行PHP調試。這是我開發團隊中用於調試PHP的事實標準;即使我們仍然有我們自己喜歡的編輯器,但當我們需要調試時,我們仍然會使用Netbeans。代碼完成,完成時提供phpdoc'工具提示',無論我在哪個平臺上開發(Windows,OS X,Linux),我都能完美地調試所有工作,而且我無法對Eclipse PDT(代碼完成我經常會錯過,遇到問題或崩潰調試等)。

所以,如果這是一個非問題的答案,我提前道歉 - 但也許試試Netbeans

+1

Netbeans知道使用Xdebug比Eclipse更好,但當前版本(7.x)肯定比Eclipse慢得多。從版本到版本(7.2)它變得越來越慢。我大約三年前一直在使用Eclipse,而且速度非常緩慢,所以我轉而使用Netbeans,這在當時非常快。然後他們用一個着名的「_slowness detector_」引入了第7版,從版本到版本它變得越來越慢。當它在雙CPU和4 GB或RAM上打開小文件時花費10秒鐘的關鍵時刻,我放棄了它,再次返回到Eclipse。 – trejder

0

您確定,您可以使用Xdebug來調試Yii(或任何其他基於框架的)應用程序嗎?由於Yii基於MVC模式引入了URL重寫,我認爲你不能。

我對Xdebug沒有多少經驗,但是從我發現的內容中我清楚地看到,它(與Eclipse PDT一起)在調試時強烈依賴於Eclipse內部瀏覽器中顯示的URL。

因此,採取例如從截圖的網址:

http://localhost/testdrive/index.php?r=dispozitive 

正如你提到的,Eclipse已經正確打開index.php,這是正常的,因爲它是在URL中直接引用你problably指出它作爲在調試配置窗口中啓動文件。

巴特走得更遠。您希望Eclipse如何理解,那條路線dispozitive(其中路線本身是一個完全Yii的概念(或類似的框架),Eclipse/Xdebug/PHP對此一無所知)或者?r=dispozitive URL部分對應於在您的文件中執行protected/SiteController.php文件系統並從它調用默認actionIndex()?所以它可能知道它應該在IDE中打開它,並可能停止執行那裏定義的斷點。

這個過程和概念(路由)由Yii 100%撰寫並由內部完成,所以您如何使Eclipse或Xdebug知道它?我在寫Yii應用程序時沒有太多經驗,但從我發現的知識直到知道,我清楚地看到,如果他們使用任何類型的Xdebug,都無法調試PHP應用程序的URL重寫方法。這種技術(使用Xdebug進行調試)僅適用於應用程序,恕我直言,恕我直言,URL更改直接反映應用程序內容中的文件系統中的文件。

編輯:此外,檢查你的Eclipse的哪個版本(包)?它的turns out,Helios軟件包有一些錯誤,並不停在斷點上。這使得調試過程非常無用。您應該考慮使用Galileo Package Eclipse for PHP Developers