Eclipse PDT + XDEBUG - 源查找不完全正常

时间:2013-01-24 11:38:10

标签: eclipse yii wamp xdebug eclipse-pdt

我在使用Yii框架的PHP项目时遇到问题。 我的设置如下:Win7 + Eclipse4.2 + PDT 3.1 + Yiiclipse PDT扩展+ WAMP服务器,启用了XDEBUG。

几乎一切都运转正常。调试会话开始,它通过项目的index.php源,但是当它必须跳转到框架的文件时,它不会打开它们。我编辑了源查找并添加了框架的本地路径,但它根本找不到它们。

以下是截图:http://img607.imageshack.us/img607/3687/eclipsepdt.png

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

2 个答案:

答案 0 :(得分:0)

这不一定是答案 - 但你的问题也不一定是个问题,所以我觉得这是公平的游戏:D

我过去曾经遇到过Eclipse PDT + xdebug的许多问题,包括调试,代码完成等等,我刚才放弃了它,并转而使用Netbeans进行PHP调试。它现在是我的开发团队调试PHP的事实标准;即使我们仍然有自己喜欢的编辑器,当我们需要调试时,我们仍然会使用Netbeans。

完成代码完成,phpdoc'工具提示'完成,并且无论我正在开发什么平台(Windows,OS X,Linux),我都能完美地调试所有工作,我不能对Eclipse PDT说同样的代码(代码完成会经常想念,我会遇到问题或者在我的个人经历中崩溃等等。

所以,如果这不是一个非问题的答案,我会提前道歉 - 但也许可以试试Netbeans

答案 1 :(得分:0)

您确定,您可以使用Xdebug来调试Yii(或任何其他基于框架的)应用程序吗?由于Yii引入了基于MVC模式的URL重写,我认为你不能。

我对Xdebug没有多少经验,但是从我发现的我清楚地看到,它(与Eclipse PDT一起)在调试时强烈依赖于Eclipse内部浏览器中显示的URL。

因此,以屏幕截图中的URL为例:

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

正如您所提到的,Eclipse已正确打开index.php,这是正常的,因为它在URL中直接引用,您可以在调试配置窗口中将其指出为启动文件。

Buth走得更远。您希望Eclipse如何理解,路由dispozitive(其中 route 本身是完全Yii概念(或类似框架),而Eclipse / Xdebug / PHP对此一无所知)或{ {1}}网址部分对应于在文件系统中执行?r=dispozitive文件并从中调用默认protected/SiteController.php?因此它可以知道它应该在IDE中打开它,并可能在已定义的断点处停止执行。

这个过程和概念(路由)由Yii 100%创作并由内部完成,那么您希望Eclipse或Xdebug如何了解它呢?

正如我写的那样,我在调试Yii应用程序方面没有太多经验,但是从我发现的知识开始,我清楚地看到,如果他们使用任何类型的Xdebug,你就无法使用Xdebug调试PHP应用程序。 URL重写方法。这种技术(使用Xdebug进行调试)仅在应用程序中运行IMHO,其中URL更改直接反映应用程序内容中文件系统中的文件。

编辑:另外,检查您拥有的Eclipse版本(包)?它turns out,Helios包有一些错误,并且不会在断点处停止。这使调试过程变得毫无用处。您应该考虑使用Galileo Package Eclipse for PHP Developers代替。