Netbeans& Xdebug问题:类方法中的私有变量不可见?

时间:2011-02-09 08:18:27

标签: php netbeans xdebug

当我使用Netbeans IDE 6.9.1调试我的PHP项目时,在以下示例中的类方法(例如 $ myVar )中声明的Xdebug 2.0.5变量在变量窗口中不可见:

class Test
{
  public function test($myVar)
  {
     return $myVar=1+$myVar;
  }

}

虽然可以看到Object-Variables和SuperGlobals。

这是一个非常讨厌的行为,因为这些变量的值通常是查找错误的重要提示。

有人面临同样的问题吗?

这是XDebug的正常行为还是我必须更改配置?

感谢您提供任何帮助或提示。

4 个答案:

答案 0 :(得分:3)

您可以在工具,选项,PHP中打开手表/气球评估。但是当你在一个大型项目上执行此操作时,xdebug往往会变得不稳定。

答案 1 :(得分:1)

找到此link来解决我的问题:

基本上这是XDebug 2.0.5和PHP 5.3.2的问题。

要解决此问题,只需升级到XDebug 2.1.0

答案 2 :(得分:0)

我使用Eclipse并显示本地变量,当然假设您的调试位置在变量局部范围内。

它与show_local_vars和collect_params无关,因为我禁用了两者(由phpinfo配置),Eclipse仍然跟踪局部变量。

所以...我没有遇到同样的问题,它似乎不是XDebug的“正常”行为,它似乎与你的XDebug设置无关。

答案 3 :(得分:0)

我不小心在我的apache php.ini中使用了引用值,并且只能检索超级全局值,这让我相信调试器实际上正在工作。 显然你必须使用不带引号的值,因为现在我也可以看到局部变量。

所以而不是

zend_extension = "/usr/lib/php5/20090626/xdebug.so"

使用

zend_extension = /usr/lib/php5/20090626/xdebug.so

Ubuntu 10.04 PHP 5.3.2 Netbeans 7.1.2 Xdebug 2.2.1