【问题标题】:xdebug never stops on single-line statementsxdebug 永远不会在单行语句上停止
【发布时间】:2012-10-17 17:49:34
【问题描述】:

你们能告诉我为什么 xdebug 永远不会在单行语句上停止吗?我是 C++ 人,所以请原谅我的蹩脚问题。

我使用 PhpStorm 5.0.2 作为 IDE。我也在 Intellij IDEA Leda EAP 中尝试过。

考虑下面的 php 代码

<?php
$d=date("D");
if ($d=="Fri")
{
    echo "Have a nice weekend!";
}
else
    echo "Have a nice day!";
?>

如果我在第二个echo 设置断点,调试器将永远不会停在那里。但是如果我用花括号括起来(比如第一个echo),它会的。

这是一种使调试复杂化的非常不幸的行为。有可能以某种方式改变它吗?也许有一些秘密的 xdebug 设置?

谢谢!

【问题讨论】:

  • 看起来像 PHPstorm 中的一个错误。如果在“else”上设置断点,它会停止吗?
  • 不,它也不会在else 上停止。
  • 然后是错误。检查 YouTrack 以查看是否已添加,如果没有,请提交新问题。
  • 要确保它是 PhpStorm 错误而不是 xdebug 问题,请首先尝试从其他 IDE 进行调试,例如 NetBeans。
  • @MattGibson 但它不应该停在else 行——没有什么可以执行的。 @ruslan 很可能是 xdebug 问题,因为 PhpStorm 只发送行号在哪里停止——其他一切(停止在那里的决定)都会使 xdebug 本身产生。

标签: php intellij-idea xdebug phpstorm


【解决方案1】:

看起来这是 xdebug 中的错误。我在他们的错误跟踪系统中提交了它 (0000895)。如果有的话,请添加您的 cmets。

xdebug 开发人员用注释关闭了错误 “这是 0000842 的副本 - 遗憾的是我无法修复它,因为它与 PHP 解释器如何将行号分配给生成的执行单元有关。”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    • 2023-04-09
    • 2013-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多