3

我很气馁。这看起来很简单,但作为 Drupal 和 Eclipse PDT 的新手,我完全不知道该去哪里找。我的 DAYS 搜索似乎表明我是这个星球上唯一有这个问题的人。

面向 PHP 开发人员的 Eclipse IDE (1.2.1.20090918-0703) WampServer 版本 2.0 Apache 2.2.11 PHP 5.2.9-2 MySQL 5.1.33 Drupal 6.15 xDebug php_xdebug-2.0.5-5.2.dll

我在 Eclipse 中设置我的项目以指向我的 Drupal 目录 (C:\wamp\www\drupal-6.15)。我启动调试器 (xdebug),然后在第一行代码处停止。我可以逐行遍历代码——所以我认为我在调试器中,当我终止应用程序时,我在选项卡标题中看到 xdebug 终止消息。

但是我不能在任何 PHP 代码文件中设置断点——特别是一个新的 .module 文件。

当我右键单击 index.php (main)左侧的断点列时,我看到“切换断点”和代码行旁边的蓝色小圆圈......所以我想我知道如何设置断点。但是当我尝试在我的 .module 中设置断点时,我看到一个菜单要求我“添加书签”并且没有设置断点的选项。

为什么我不能在这个文件中设置断点?我的项目路径设置不正确吗?我需要修改我的包含路径吗?我无法让 Eclipse 识别甚至核心模块,而不仅仅是站点/所有模块。我看过有关将文件“导入”到项目中并确保使用正确的 php.ini 文件来配置 xdebug 的帖子。我迷路了。

有很多关于使用 Eclipst PDT 和 xDebug 的帖子,它们都以“玩得开心调试”或“只要设置一些断点就可以了”结尾——但是如果你不能设置断点怎么办?关于 Eclipse 在哪里丢失的任何想法?在 Eclipse 中,您可以从哪里获得它已包含在其构建中的文件列表?

我想我只需要了解为什么 Eclipse 无法在项目(即 drupal 应用程序)路径中找到这些模块以允许我设置断点。那我觉得我可以继续。好郁闷...

感谢任何聆听的人。

4

4 回答 4

3

谢谢你的提示。我想我在某处的另一篇文章中看到了您的类似回复。

实际上,我的解决方案是确保在 Eclipse 文件关联首选项中包含所有标准的 Drupal 文件扩展名:Preferences->General->Content Types->Text->PHP Content Type。默认值是各种 *.php、*.phpX、*.phtml 扩展名,但不是 Drupal 模块中使用的扩展名——*.info、*.inc、*.module、*.install 等。

一旦你弄清楚了,简单明了。我对所有没有出现的 Eclipse-xDebug-Drupal 设置说明感到惊讶。很多关于将项目路径与服务器路径匹配的细节,但对此一无所知。

我希望我的奋斗对某人有所帮助。在此过程中,我确实学到了很多关于 Eclipse PDT 的知识 :-)。祝你好运。

于 2010-01-17T14:43:48.810 回答
1

PDT 项目中的断点很棘手:

  • 对于php文件,你需要小心

让我受益匪浅的一件事是有很多“无效”的地方设置断点。您可以将点放在 IDE 中,但调试器不会停止:

  • 空白/非代码行
  • 关于 switch 语句
  • 在某些类型的回调中(例如 preg_replace)

但是对于.module文件中的断点,这应该与设置问题有关

我对我的设置进行了以下更改:

  • 从 php 5.2.1 升级到 php 5.2.3
  • 在 Eclipse/PDT 中安装了 Zend 调试器客户端(据我了解理论上没有必要,但我决定试一试)
  • 确保 Drupal 文件完全导入到我的项目中,而不仅仅是作为包含库引用。

在我创建了一个小测试用例并发现我可以让调试器在外部包含的文件中的断点处停止,只有当该文件被导入到项目中时,我才做了最后一步,而不是如果它被引用为包含的一部分库目录。
在我看来,这似乎是一个错误 - 调试器当然可以看到包含库目录中的文件是源文件,它让我在其中设置断点,所以它似乎应该停止它们。
(为了与单独的(java)IDE 进行比较,IntelliJ 将允许您在 jar 文件中定义断点,只要您告诉它源在哪里。一旦定义它,它就会停止。)

我认为主要是最后一步成功了,所以我建议其他有类似问题的人首先确保这不是他们的设置中的问题,然后尝试其他步骤。

于 2010-01-17T07:39:54.560 回答
1

检查您是否在 java 编辑器模式下打开了 java 文件。即 ctrl+shift+R,在此弹出窗口中检查 OPEN 选项旁边的按钮并选择 java 编辑器。

于 2014-09-16T09:15:07.537 回答
0

如果您最近创建了一个文件,则可能会出现无法设置断点的问题。您必须关闭并重新打开该文件才能将其识别为可以调试的源文件,并启用代码突出显示。

于 2011-01-05T11:23:22.863 回答