2011-10-28 88 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'。 –