Eclipse PDT+;XDEBUG-源查找无法完全工作

Eclipse PDT+;XDEBUG-源查找无法完全工作,eclipse,yii,wamp,xdebug,eclipse-pdt,Eclipse,Yii,Wamp,Xdebug,Eclipse Pdt,我在使用Yii框架的PHP项目中遇到了问题。 我的设置如下:Win7+Eclipse4.2+pdt3.1+Yiiclipse PDT扩展+WAMP服务器,启用了XDEBUG 基本上一切都正常。调试会话开始,它将通过project的index.php源代码,但是当它必须跳转到框架文件时,它不会打开它们。我编辑了源代码查找并添加了框架的本地路径,但它根本找不到它们 以下是一个屏幕截图: 这不一定是答案,但你的问题也不一定是问题,所以我觉得这是公平的游戏:D 在过去的调试、代码完成等方面,我在Ecli

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

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

以下是一个屏幕截图:


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

在过去的调试、代码完成等方面,我在EclipsePDT+xdebug上遇到了太多问题,以至于我不久前放弃了它,转而使用Netbeans进行PHP调试。它现在是我的开发团队调试PHP的事实标准;尽管我们都有自己喜欢的编辑器,但当我们需要调试时,我们仍然会使用Netbeans

代码完成、完成时的phpdoc“工具提示”和调试对我来说都是完美无瑕的,不管我在什么平台上开发(Windows、OS X、Linux),我个人经验中对Eclipse PDT也不能这么说(代码完成经常会错过,调试时会遇到问题或崩溃等)


因此,如果这是一个非问题的非答案,我提前表示歉意,但也许可以尝试一下?

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

我对Xdebug没有太多的经验,但从我的发现中我清楚地看到,它(以及eclipsepdt)在调试时强烈地依赖于Eclipse内部浏览器中显示的URL

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

http://localhost/testdrive/index.php?r=dispozitive
正如您所提到的,Eclipse已经正确地打开了
index.php
,这是正常的,因为它在URL中被直接引用,并且您很可能在调试配置窗口中将它指出为开始文件

但是,我要走得更远。您希望Eclipse如何理解路由
dispozive
(其中路由本身是一个完全的Yii概念(或类似的框架),而Eclipse/Xdebug/PHP对此一无所知)或者,r=dispoziveURL部分对应于在文件系统中执行
protected/SiteController.php
文件并从中调用default
actionIndex()
?因此,它可以知道应该在IDE中打开它,并可能在定义的断点上停止执行

这个过程和概念(路由)100%由Yii编写并在内部完成,所以您希望Eclipse或Xdebug如何了解它

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


编辑:另外,检查您拥有的Eclipse版本(软件包)?很显然,Helios软件包有一些bug,并且不会在断点处停止。这使得它对调试过程毫无用处。你应该考虑使用。

你尝试过一些简单的项目来检查它是否有效?如果是特定于Yii的问题,或者某些eclipse配置错误,请首先确保。众所周知,Netbeans在Xdebug上的工作要比eclipse好一点,但在当前版本(7.x)中,它肯定比eclipse慢得多。从一个版本到另一个版本(7.2),它变得越来越慢。大约三年前我一直在使用Eclipse,但速度非常慢,所以我切换到了当时非常快的Netbeans。然后他们推出了带有著名的“慢度检测器”的版本7,从一个版本到另一个版本,它变得越来越慢。当它达到了在双CPU和4GB或RAM上花费10秒打开小文件的临界点时,我放弃了它,再次回到Eclipse。