2011-10-28 43 views
1

我在我的Windows桌面上使用Netbeans调试远程在安装了xdebug的Linux服务器上运行的PHP Web应用程序。一个不断困扰我的缺失特征是:我无法查看某个类中静态变量的内容。通常我不得不求助于“print”或“var_dump”方法来查找变量内容,这非常不方便。查看Netbeans PHP调试器中的静态变量内容

有谁知道如何正确配置它?我未能在Netbeans菜单中找到任何相关设置。我的Netbeans版本是在Windows 7上运行的7.0.1,而我的远程服务器是CentOS 5.4,运行带有最新xdebug模块的PHP 5.2。

回答

0

好吧,它似乎fixed(更像是“添加”)在xdebug 2.1.3,但我不能测试它,因为没有DLL的我的设置(仅VC9;希望会有VC6也是)。搏一搏。

在此之前,使用手表(另一种“伟大的”方法)。在链接使用的例子(我reffering于NetBeans这里):

class testclass { 
    static private $name; 

    static public function show_name() { 
     //do something with $name 
     self::$name = "Sir John\n" . self::$name; 
     return self::$name; 
    } 
} 

echo testclass::show_name(); 
  • 在return语句放在一个断点。
  • 开始调试
  • 如果没有看到 “监视” 选项卡,进入menu - >Windows - >Debugging - >Watches
  • 转到Watches选项卡上,单击鼠标右键,New Watch。输入self::$name作为表达式。 (对于常规变量,使用$varName作为表达式)。这是一个棘手的部分。直到现在我还不知道这件事。
  • 运行代码。
-1

如果您按住Control键并单击该变量,是否不会自动将您带到变量定义中?这是我的行为。

+0

我不认为这就是他们要求的。 –

+0

@therefromhere我很不同意,他遇到的麻烦是它没有显示他的静态变量的值,cntrl-click会把他带到它定义的文件。 –

+0

是的,那会带你去定义,但如果它被重新定义在某个地方呢?这将是'const'的正确答案,但不是'static'。 –