【问题标题】:Can not make PHP PDT xDebug to stop at breakpoints in Eclipse无法使 PHP PDT xDebug 在 Eclipse 中的断点处停止
【发布时间】:2012-11-23 03:20:15
【问题描述】:

通过选择 Break at First line,调试器会在输入每个文件时激活,允许我单步执行和退出代码。 但是,必须通过 50 万步才能到达开始变得有趣的地步,这有点麻烦。

我的设置是 WIMP Window 7, PHP 5.3

; xDebug config
zend_extension = "C:\Program Files (x86)\PHP\v5.3\ext\php_xdebug-2.2.1-5.3-vc9-nts.dll"

xdebug.remote_autostart=0;
xdebug.remote_enable=On 
xdebug.remote_host="localhost" 
xdebug.remote_port=9000 
xdebug.remote_handler="dbgp"

我已确定路径映射是正确的。 但可能是因为我从我的 Eclipse 项目链接到 PHP 文件?

【问题讨论】:

    标签: php debugging xdebug eclipse-pdt


    【解决方案1】:

    下载 Eclipse Juno 后,我可以在断点处停止。

    我已经用 Eclipse Indigo 尝试过一切。 版本:3.7.2 内部版本号:M20120208-0800

    无论是使用内部浏览器还是外部浏览器,都无法正常工作。

    我猜是时候继续使用朱诺了吗?

    【讨论】:

    • 哦不!即使使用 Eclipse Juno 我也有同样的问题!当检查“第一线中断”时,调试器停在第一行,但在没有检查“第一行断裂”之后设置断点的线路停止。这是我的SO Question,请您检查我的设置并告诉我我做错了什么。
    【解决方案2】:

    Eclipse 有一个选项可以关闭“在第一行中断”。转到“Windows -> Preferences -> PHP -> Debug”并取消选中“Break at first line”并进入“Run > Debug Configurations > PHP Web Application”并在所有配置中取消选择“Break at first line”。然后重启 Eclipse。

    【讨论】:

    • 谢谢德里克。我已经试过了。从昨天开始,我也尝试安装 Zend。同样的问题。调试器只是快速通过断点,但启用后在第一行停止
    • 问题的第一句话清楚地表明他知道该选项。
    【解决方案3】:

    对于那些仍在与这个问题作斗争的人,一些方便的技巧。

    检查您拥有的 Eclipse 版本(包)? turns out,当您将应用程序调试为 Web Application 时,Helios 包有一些错误并且不会在断点处停止。仅当您以 PHP Script 运行时,调试才有效。这使得它对调试过程毫无用处。

    您应该考虑恢复到较旧的Galileo Package Eclipse for PHP Developers 或安装最新的Eclipse Juno(甚至是newest developer version of Eclipse Kepler),它没有内置PDT 支持,但您可以使用Help > Install New Software.. 轻松添加它(指向http://download.eclipse.org/tools/pdt/updates/release)。

    据报道,这些版本能够以Web Application 进行调试,尊重断点。

    另外,请记住,Xdebug 必须作为 Zend Extension 运行才能支持断点!换句话说,从您的php.ini 中删除extension=xdebug.so(Linux 上或Windows 上的xdebug.dll)行,并将其替换为zend_extension=/full/path/to/xdebug.so(Linux 上或Windows 上的zend_extension=X:\full\path\to\xdebug.dll)。 Zend 扩展需要完整路径,即使它们被放入 /php/ext 文件夹,作为常规 PHP 扩展。您可以在 Xdebug FAQ 中找到更多相关信息(寻找“Xdebug 仅作为 PHP 扩展而不是作为 Zend 扩展加载”问题的答案)。

    【讨论】:

    • 我遵循“Xdebug 必须作为 Zend 扩展运行”评论。然后使用 FireFox(而不是 Chrome/内部浏览器)。我认为最后一步是解决问题的一步。
    【解决方案4】:

    这是一篇描述如何在 Eclipse 中获取断点以使用 XDebug 的帖子。

    http://programmersjunk.blogspot.com/2013/05/eclipse-and-xdebug.html

    【讨论】:

    • 请注意,不鼓励仅链接的答案,因此答案应该是搜索解决方案的终点(相对于另一个参考中途停留,随着时间的推移往往会变得陈旧)。请考虑在此处添加独立的概要,并保留链接作为参考。
    猜你喜欢
    • 1970-01-01
    • 2012-12-15
    • 2011-03-31
    • 2013-04-17
    • 2014-11-22
    • 2014-06-19
    • 2018-07-23
    • 1970-01-01
    • 2015-09-11
    相关资源
    最近更新 更多