2010-08-18 87 views
1

我的本地主機(Win XP)上我的開發Web服務器目前是XAMPP 1.7.3XAMPP 1.7.3,Eclipse PDT&XDebug - 在Eclipse中調試PHP網頁從不停止在斷點

我只是用XDebug設置了我的Eclipse 3.6 PDT。 它工作正常,如果我將文件調試爲「PHP腳本」,但是當它將其調試爲「PHP網頁」時,XDebug會完全忽略斷點。

在代碼中只有手動插入xdebug_break()纔會停止調試器。如果你想在Eclipse的斷點中使用條件,這不是很有用。

這裏我的配置:

的php.ini:

zend_extension = "C:\xampp\php\ext\php_xdebug.dll" 
xdebug.remote_autostart=1 
xdebug.remote_enable=1 
xdebug.remote_handler=dbgp 
xdebug.remote_mode=req 
xdebug.remote_host=localhost 
xdebug.remote_port=9000 
xdebug.remote_idekey="ECLIPSE_DBGP" 

的phpinfo()

Zend Engine v2.3.0, Copyright (c) 
1998-2009 Zend Technologies 
    with Xdebug v2.0.6-dev, Copyright (c) 2002-2009, by Derick Rethans 

...

xdebug xdebug support enabled Version 
2.0.6-dev 

Supported protocols Revision DBGp - 
Common DeBuGger Protocol $Revision: 
1.125.2.7 $ GDB - GNU Debugger protocol  $Revision: 1.87.2.1 $ PHP3 - 
PHP 3 Debugger protocol  $Revision: 
1.22 $ 

Directive Local Value Master Value 
xdebug.auto_trace Off Off 
xdebug.collect_includes On On 
xdebug.collect_params 0 0 
xdebug.collect_return Off Off 
xdebug.collect_vars Off Off 
xdebug.default_enable On On 
xdebug.dump.COOKIE no value no value 
xdebug.dump.ENV no value no value 
xdebug.dump.FILES no value no value 
xdebug.dump.GET no value no value 
xdebug.dump.POST no value no value 
xdebug.dump.REQUEST no value no value 
xdebug.dump.SERVER no value no value 
xdebug.dump.SESSION no value no value 
xdebug.dump_globals On On 
xdebug.dump_once On On 
xdebug.dump_undefined Off Off 
xdebug.extended_info On On 
xdebug.idekey no value no value 
xdebug.max_nesting_level 100 100 
xdebug.profiler_aggregate Off Off 
xdebug.profiler_append Off Off 
xdebug.profiler_enable Off Off 
xdebug.profiler_enable_trigger Off Off 
xdebug.profiler_output_dir C:\xampp\tmp C:\xampp\tmp 
xdebug.profiler_output_name xdebug_profile.%p xdebug_profile.%p 
xdebug.remote_autostart On On 
xdebug.remote_enable On On 
xdebug.remote_handler dbgp dbgp 
xdebug.remote_host localhost localhost 
xdebug.remote_log no value no value 
xdebug.remote_mode req req 
xdebug.remote_port 9000 9000 
xdebug.show_exception_trace Off Off 
xdebug.show_local_vars Off Off 
xdebug.show_mem_delta Off Off 
xdebug.trace_format 0 0 
xdebug.trace_options 0 0 
xdebug.trace_output_dir C:\xampp\tmp C:\xampp\tmp 
xdebug.trace_output_name trace.%c trace.%c 
xdebug.var_display_max_children 128 128 
xdebug.var_display_max_data 512 512 
xdebug.var_display_max_depth 3 3 

有誰知道我做錯了什麼?

在此先感謝!

回答

1

在Eclipse中錯誤的設置路徑映射是問題所在。

附加信息: 總是使用來自www.xdebug.org的最新版本的XDebug,XAMPP(2.0.6)中的版本有一些錯誤,其中變量爲<Uninitialized>。這在當前的2.1.0版本中已得到解決。

0

對於所有那些,仍然與這個問題鬥爭,一些方便的提示。

檢查Eclipse的哪個版本(包)?它是turns out,當您調試應用程序爲Web Application時,Helios軟件包有一些錯誤並且不會停在斷點上。只有運行PHP Script時,調試纔有效。這使得調試過程非常無用。

你應該考慮要麼恢復到舊的Galileo Package Eclipse for PHP Developers或安裝最新Eclipse Juno(甚至newest developer version of Eclipse Kepler),不具有PDT支持建立,但你可以很容易地把它添加到那時,使用Help > Install New Software..(它指向http://download.eclipse.org/tools/pdt/updates/release)。

這些版本被報告可以調試爲Web Application,尊重斷點。

另外,請記住,Xdebug必須作爲Zend Extension運行,以支持斷點!換句話說,從您的php.ini中刪除extension=xdebug.so(在Linux上爲xdebug.dll),並將其替換爲zend_extension=/full/path/to/xdebug.so(在Linux上或在Windows上爲zend_extension=X:\full\path\to\xdebug.dll)。作爲常規的PHP擴展,Zend擴展需要完整路徑,即使它們被放入/php/ext文件夾。你可以在Xdebug FAQ找到更多信息(查找「」的答案)Xdebug僅作爲PHP擴展載入,不作爲Zend擴展「問題)。

1

這種「可能」是幫助一些人誰是eclipse下調試掙扎在PHP

配置: - 虛擬框 的Win7專業版 - Eclipse的紅月紅月服務版本2(4.4.2)與安裝在C PDT插件: - WAMP 2.5(PHP 5.5.12,阿帕奇2.4.9)

在桌面上:

點擊窗口狀態欄圖標WAMP(Eclipse之外,倒在右邊你的桌面)

  • 點擊PHP> PHP設置

    蜱Xdebug的遠程調試/分析器/分析器啓用觸發器,直到它的出現打勾(需要嘗試幾次,它的工作原理和錯誤可能出現,但忽略它們之前)

  • 點擊PHP>的php.ini

    • 在末尾加上xdebug.remote_port = 9001
    • 保存並重新啓動所有WAMP服務

!!!!警告!!!! 這最後一步實際上改變了c:/wamp/www/bin/apache/apache2.4.9/bin/php.ini而不是一個c:/wamp/www/bin/php/php5.5.12/php.ini但它如先前

描述在Eclipse仍然工作:

窗口>首選項> PHP> PHP可執行

  • 可執行路徑C:/wamp/bin/php/php5.5.5.12/php 。exe文件(瀏覽)
  • SAPI:CLI

窗口>首選項> PHP>調試

  • 檢查/設置服務器設置的Zend調試器
  • 檢查/設置CLI設置Xdebug的

窗口>首選項> PHP>調試>安裝的調試器

  • Xdebug的端口9001

窗口>首選項> PHP>服務器

  • 調試器:Zend的調試器

選擇PHP文件,以調試,然後運行>調試>調試配置

  • 給出一個名稱ex mydebugconfig
  • 點擊(空白頁圖標)添加Web應用程序
  • 的文件選擇路徑來調試
  • 選擇縮略圖服務器,選擇默認的PHP Web服務器
  • 點擊配置和檢查的Zend調試器choosen
  • 選擇縮略圖調試器和檢查服務器調試器Xdebug
  • 單擊配置並檢查/設置端口爲9001 ,最後在同一窗口中調試按鈕,它應該工作(至少在我的機器上,一天的環顧一切都不錯)

注:也有可能選擇左側日食Explorer框架上的文件>運行>調試>調試配置,創造了以前mydebugconfig)

對於文件c您的信息末尾:/ WAMP/WWW /斌/阿帕奇/apache2.4.9/bin/php.ini

; XDEBUG Extension 

zend_extension = "c:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11.dll" 
; 
[xdebug] 
xdebug.remote_enable = off 
xdebug.profiler_enable = off 
xdebug.profiler_enable_trigger = off 
xdebug.profiler_output_name = cachegrind.out.%t.%p 
xdebug.profiler_output_dir = "c:/wamp/tmp" 
xdebug.show_local_vars=0 

和文件c的末尾:/wamp/www/bin/apache/apache2.4.9/bin/php.ini

; XDEBUG Extension 

zend_extension = "c:/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11.dll" 
; 
[xdebug] 
xdebug.remote_enable = On 
xdebug.profiler_enable = On 
xdebug.profiler_enable_trigger = On 
xdebug.profiler_output_name = cachegrind.out.%t.%p 
xdebug.profiler_output_dir = "c:/wamp/tmp" 
xdebug.show_local_vars=0 
xdebug.remote_port=9001 
相關問題