2010-08-06 138 views
19

我目前正試圖讓Xdebug在我們的開發服務器上工作。作爲客戶我使用的是NetBeans,目前的連接沒有問題。 但是,當我嘗試在netbeans中設置斷點時,它只是被忽略。Xdebug忽略斷點

,是的,我已經用Google搜索了幾個小時,也發現這裏一些問題,完全適合我的描述: SO 1 SO 2

但是,這似乎並沒有解決這個問題對我來說。 Xdebug模塊通過zend_extension = path/to/xdebug加載。所以在

/etc/php5/conf.d/xdebug.ini

我也看了一下PHP5/Apache和PHP5/CLI php.ini中,以確保它不加載擴展=某處。我還檢查了phpinfo()發現的「附加的.ini文件解析」,它似乎沒有其他地方加載。

通過執行PHP -m我可以看到加載Xdebug的模塊中

[PHP Modules]

[Zend Modules]

不知道這是否表明,它仍然在加載,如果兩次或這樣很好嗎?不過,如果我從conf.d/xdebug.ini中刪除zend_extension=/path/to/xdebug.so,它也不會被加載。所以我真的認爲它只在那裏加載。

如果我設置remote_log選項看到Netbeans正試圖設置的東西:

<- breakpoint_set -i 452 -t line -s enabled 
    -f file:///http:/development.xxx.de/users/itsame/index.php -n 15 
-> <response xmlns="urn:debugger_protocol_v1" 
    xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" 
      transaction_id="452" state="enabled" id="258870001"> 
    </response> 

但似乎沒有任何效果(看上去幾乎相同像其他我上面貼SO問題。但是,如果我做一個手動xdebug_break()的PHP代碼裏面HANDELS正確。

PHP版本5.2.6是和Xdebug是2.1。 任何建議,我可以看看下一個?

+0

似乎懷疑它出現在PHP Modules和Zend Modules中,但我不知道如何發生。您是否在http://xdebug.org/find-binary.php上嘗試了「定製安裝說明」? – mjs 2010-08-06 21:34:46

+0

嗨,很抱歉,遲到的回覆週末已經離開了,我在星期三之前不回到辦公室。但是,我會試一試,謝謝。 – enricog 2010-08-09 09:57:10

+0

嗨,剛剛嘗試了定製安裝說明,但沒有改變任何東西。實際上,我認爲它與pecl install的做法非常相似。它還告訴我「你已經在運行最新的Xdebug版本」。 – enricog 2010-08-11 11:23:35

回答

10

它看起來像re是包含斷點的文件的路徑有問題。

<- breakpoint_set -i 452 -t line -s enabled 
    -f file:///http:/development.xxx.de/users/itsame/index.php -n 15 -> 

我對Eclipse有類似的問題。只有索引文件中的斷點被接受,其他文件中的斷點(包含在索引中)被忽略。

我看着在remote_log文件,看到以下內容:

<- breakpoint_set -i 260 -t line 
    -f file:///~jeroen/workspace/fieg/wp-content/plugins/fieg/fieg.php -n 22-> 
<response xmlns="urn:debugger_protocol_v1" 
    xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" 
    transaction_id="260" id="48060002"></response> 

我注意到,對於斷點的道路是完全錯誤的。事實證明,我不得不在Eclipse中設置端口映射。設置正確的映射後,斷點開始工作。另外我現在remote_log顯示正確的路徑:

<- breakpoint_set -i 333 -t line 
    -f file:///Users/jeroen/Workspace/fieg/wp-content/plugins/fieg/fieg.php -n 12->  
<response xmlns="urn:debugger_protocol_v1" 
    xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" 
    transaction_id="333" id="48080005"></response> 

我不知道是否有在Netbeans的Eclipse的端口映射配置的等效,但希望我指出你在好的方向發展。

+1

謝謝!這真的讓我意識到了正確的方向。問題在於路徑映射。似乎你必須映射所有需要的文件夾,不僅僅是父文件夾,還可以看到:http://wiki.netbeans.org/HowToConfigureXDebug#Tips_from_the_NetBeans_Forums – enricog 2011-02-14 09:25:27

+0

堅韌我現在無法測試所有文件夾的映射,Netbeans似乎有一個錯誤,所以我目前無法添加/編輯服務器路徑。艱難的看起來應該是有用的,如果有人對這個問題進行了解決。對我來說,它現在奇怪的工作也沒有任何映射。所以再次感謝我指點正確的方向;) – enricog 2011-02-14 09:29:09

+0

謝謝!雖然我偶然發現了「端口映射」。應該是「路徑映射」,對不對? – 2017-01-16 11:29:48

2

轉到:Project > Properties > Run Configuration > Advanced (button)

從「路徑映射」刪除所有映射,如果你不使用Xdebug的用於遠程調試。這將有助於解決這個問題。

3

在php.ini文件中,設置這個指令:

report_zend_debug = 1 

我希望幫助別人?

2

該問題提到xdebug.ini文件存在,但不報告其內容。 我的默認安裝的文件只包括:

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

但是爲了調試實際發生,必須將其啓用。加入這一行:

xdebug.remote_enable=1 

然後phpinfo()將報告功能的XDebug:

enter image description here

+0

對圖像+1(它使我重新認識到我最近重新安裝了WAMP,並忘記再次更改)如果您使用的是WAMP,請從WAMP圖標進入您的php.ini,並將行更改爲「xdebug.remote_enable = on 「(來自'off') – BillyNair 2015-09-28 16:03:09

3

對我來說,問題是 「項目屬性>源> Web根:」 沒有設置(它有一個默認「作爲它的值)。

將其設定爲在磁盤上我的網站根目錄後,斷點開始工作。

+0

我在談論Netbeans 8.0中的項目設置 – drstockz 2014-07-04 17:34:17

1

我碰到這個帖子試圖解決我的eclipse中的xdebug問題,而不是在Web應用程序的中斷點。我發現這裏的評論非常有用。此外,這個帖子http://www.devside.net/wamp-server/netbeans-waiting-for-connection-netbeans-xdebug-issue來解決我的問題非常方便。我只需在我的相關php.ini中設置以下標誌。

xdebug.remote_enable = 1

Xdebug的將在會話,但設置遠程調試標誌的會話等待的問題,突破點問題,也是我已經定義也開始登錄交易Xdebug的日誌文件後,繼續等待。

0

另一種可能的解決方案,只是爲我工作,試圖在這個崗位後一切,在許多人的一個...

我在Windows上調試PHP項目,通過了XDebug Eclipse的霓虹燈。源代碼是遠程Linux,通過SFTP本地安裝爲驅動器。這可能是我自己的錯,這是不正確設置...

在Eclipse中,右鍵單擊您的項目,然後選擇Configure,然後Add PHP Support。立即開始DLTK索引;在此之前,無論如何它都不會啓動。

然後我不得不打開我的源並通過遠程文件資源管理器設置斷點。我希望這可以幫助別人。

0

我有同樣的問題:Eclipse斷點沒有工作,xdebug_break()確實工作。我的問題是路徑中的空格:

<- breakpoint_set -i 1323 -t line -f file:///Users/admin/Documents/projects/something/path%2520with%2520space/web/index.php -n 223 
-> 
<response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="1323" id="385680235"></response> 

將路徑更改爲無空格的路徑後,Eclipse中的斷點工作正常。