2011-02-17 57 views
3

根據這個錯誤信息產生多少搜索引擎來判斷,我知道這是一個常見問題,但沒有任何有用的答案。無法使XDebug在Vim中建立連接。 「沒有attribue'停止'」錯誤

我試圖在使用Sam Ghods Debugger.vim腳本的Vim中設置XDebug,同時遵循How to Debug PHP with Vim and XDebug on Linux(這是通過XDebug獲得Vim安裝程序的常見參考資料)的說明。我在OSX 10.6運行的MacVim 7.3,當我嘗試調試器連接到服務器時,我得到:

(<type 'exceptions.AttributeError'>, AttributeError("DbgProtocol instance has no attribute 'stop'",), <traceback object at 0x104595680>) 
    File "/Users/tjlahr/.vim/plugin/debugger.py", line 1078, in debugger_run 
    debugger.run() 
    File "/Users/tjlahr/.vim/plugin/debugger.py", line 928, in run 
    self.protocol.accept() 
    File "/Users/tjlahr/.vim/plugin/debugger.py", line 560, in accept 
    self.stop() 

沒有任何人有經驗,解決此錯誤?

請注意,我沒有調試端口9000,因爲它似乎可能與PHP中啓用的fastcgi衝突。因此,我正在通過端口9001進行調試,並分別通過php.ini和g:debuggerPort變量中的設置進行了更改。

感謝您的幫助。

+0

你可以發佈你的php.ini的XDebug部分嗎? – glomad 2011-02-21 18:41:24

回答

2

看來「AttributeError(」DbgProtocol實例沒有屬性'stop'「,)」是一個普遍的錯誤。

我剛剛安裝了XDebug和debugger.vim插件,最終收到了這條消息。我的問題是沒有啓用遠程調試。構建的phpinfo文件:

<?php 
    phpinfo(); 
?> 

在你的Web服務器目錄裏,並檢查了所有的XDebug配置變量,它應該靠近頁面底部被列出。在我的系統上,使用從GitHub倉庫構建的xdebug-v2.2.0-dev,將xdebug.remote_enable設置爲false。粘貼到php.ini文件的底部並將其值設置爲1,可以使客戶端連接到xdebug會話。

另外,在xdebug源文件中有一個名爲「debugclient」的目錄,它可以用來測試任何連接問題。按照其目錄中的INSTALL文件中的說明進行構建。

最後一個想法是,在VIM中運行插件腳本後,您需要在5秒內刷新您嘗試調試的網頁,否則作爲客戶端的腳本將超時。

+0

我的經歷與uxp相似。在我的情況下,這是xdebug擴展不可用於Apache。即由於缺少xdebug.so依賴關係,phpinfo()不顯示xdebug設置。 – EricC 2014-01-29 21:37:50