我很沮丧。这看起来很简单,但作为Drupal和Eclipse PDT的完全新手,我完全不知道在哪里看。我的搜索日似乎表明我是这个星球上唯一遇到这个问题的人。
面向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应用程序)路径以允许我设置断点。然后我想我可以坚持下去。令人沮丧......
感谢任何人的倾听。
答案 0 :(得分:3)
感谢您的提示。我想我曾在某个地方的另一个帖子中看到过你的类似回应。
实际上,我的解决方案是确保在Eclipse文件关联首选项中包含所有标准Drupal文件扩展名:Preferences-> General-> Content Types-> Text-> PHP Content Type。默认值是各种* .php,* .phpX,* .phtml扩展名,但不是Drupal模块中使用的扩展名 - * .info,* .inc,* .module,* .install等。
一旦弄明白就简单而明显。我对所有Eclipse-xDebug-Drupal设置指令感到惊讶,因为它没有显示出来。有关将项目路径与服务器路径匹配的大量详细信息,但没有任何相关内容。
我希望我的斗争有助于某人。我一路上学到了很多关于Eclipse PDT的知识:-)。祝你好运。
答案 1 :(得分:1)
PDT项目中的断点很棘手:
让我受益匪浅的一件事是,你设置断点的地方有很多“无效”。您可以将点放在IDE中,但调试器不会停在它上面:
但是对于.module
个文件中的断点,这应该是related to a setup issue。
我对我的设置进行了以下更改:
- 从php 5.2.1升级到php 5.2.3
- 在Eclipse / PDT中安装了Zend调试器客户端(从理论上来说,根据我的理解没有必要,但我决定尝试一下)
- 确保Drupal文件已完全导入到我的项目中,而不仅仅是作为包含库引用。
在我创建了一个小小的测试用例之后,我做了最后一步,并发现只有在将该文件导入到项目中时,我才能让调试器在外部包含的文件中的断点处停止,而不是将其作为部分引用包含库目录 在我看来这似乎是一个错误 - 调试器当然可以看到包含库目录中的文件是源文件,它让我在它们中设置断点,所以它似乎应该停在它们上面。
(为了从单独的(java)IDE进行比较,IntelliJ将允许您在jar文件中定义断点,只要您告诉它源的位置。一旦定义了它,它就会停在它上面。)我认为这主要是最后一步完成了这个技巧,所以我建议其他有类似问题的人确保首先在他们的设置中不是问题,然后尝试其他步骤。
答案 2 :(得分:1)
检查是否在java编辑器模式下打开了java文件。 即ctrl + shift + R,在此弹出窗口中选中OPEN选项旁边的按钮并选择java editor。
答案 3 :(得分:0)
如果您最近创建了一个文件,则可能会出现无法设置断点的问题。您必须关闭并重新打开该文件才能将其识别为可以调试的源文件,并启用代码突出显示。