【问题标题】:Eclipse PDT + XDEBUG - source lookup not working entirelyEclipse PDT + XDEBUG - 源查找不完全工作
【发布时间】:2013-01-08 03:47:56
【问题描述】:

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

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

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

【问题讨论】:

  • 您是否尝试过一些简单的项目来检查它是否有效?首先确保是 Yii 特定的问题,或者是某些 Eclipse 配置错误。

标签: eclipse yii wamp xdebug eclipse-pdt


【解决方案1】:

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

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

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

所以,如果这不是对非问题的非回答,我提前道歉 - 但也许试试Netbeans

【讨论】:

  • Netbeans 与 Xdebug 一起工作比 Eclipse 好一点,但在当前版本 (7.x) 中肯定比 Eclipse 慢得多。从版本到版本(7.2),它变得越来越慢。大约三年前我一直在使用 Eclipse,它非常慢,所以我改用了 Netbeans,当时它的速度非常快。然后他们推出了带有著名“slownessdetector”的版本 7,并且从一个版本到另一个版本,它变得越来越慢。当它达到在双 CPU 和 4 GB 或 RAM 上打开小文件花费 10 秒的临界点时,我放弃了它,再次回到 Eclipse。
【解决方案2】:

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

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

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

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

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2015-01-25
    • 1970-01-01
    • 2023-04-04
    • 2012-01-23
    • 1970-01-01
    • 2010-12-05
    • 2012-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多