xdebug_session_start=phpstorm-xdebug
安裝:在apacheserver下面新建xdebug資料夾,再在xdebug下面新建trace與profiler資料夾,用來存放xdebug生成的兩種資訊
編輯php.ini,加入下面幾行
zend_extension = "d:\apacheserver\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll"
;允許遠端ide除錯
xdebug.remote_enable = true
;遠端主機
xdebug.remote_host = 127.0.0.1
;xdebug.remote_port = 9000 ;預設埠 9000
xdebug.profiler_enable = on
;臨時跟蹤資訊輸出
xdebug.trace_output_dir = "d:\apacheserver\xdebug\trace"
xdebug.profiler_output_dir = "d:\apacheserver\xdebug\profiler"
;其餘引數
;開啟自動跟蹤。自動開啟"監測函式呼叫過程"的功模。該功能可以在你指定的目錄中將函式呼叫的監測資訊以檔案的形式輸出
xdebug.auto_trace = on
;開啟異常跟蹤
xdebug.show_exception_trace = on
;開啟遠端除錯自動啟動
xdebug.remote_autostart = on
;收集變數
xdebug.collect_vars = on
;收集返回值
xdebug.collect_return = on
;收集引數
xdebug.collect_params = on
;顯示區域性變數
xdebug.show_local_vars = on
;顯示預設的錯誤資訊
xdebug.default_enable = on
;用於zend studio遠端除錯的應用層通訊協議
xdebug.remote_handler = dbgp
;如果設得太小,函式中有遞迴呼叫自身次數太多時會報超過最大巢狀數錯
xdebug.max_nesting_level = 10000
zend_extension = "d:\apacheserver\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll" 與 zend debugger 一樣
不同系統及 php 版本有不同寫法
linux 和 mac os x : zend_extension = "d:\apacheserver\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll"
windows thread-safe 版 php : zend_extension_ts = "d:\apacheserver\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll"
windows non-thread-safe 版 php : zend_extension = "d:\apacheserver\php\ext\php_xdebug-2.3.3-5.5-vc11-x86_64.dll"
所以同一伺服器只能載入乙個除錯工具,要麼 zend debugger 要麼 xdebug
但在 php5.5 環境下測試, thread-safe 版 php 後面不能加 _ts 只能寫成 zend_extension =
xdebug.profiler_enable = on 及後面的目錄 "d:\apacheserver\xdebug" 作用是開啟把執**況的分析檔案寫入到指定目錄中的功能,可自由設定。也可不寫
重啟apache
重啟先寫乙個可以導致執行出錯的程式,例如嘗試包含乙個不存在的檔案。
<?php
require 'abc.php';
?>
然後通過瀏覽器訪問,驚奇地發現,出錯資訊變成了彩色的了,並且xdebug跟蹤**的執行
zend studio設定
zend studio 10.6.2
apache2.4.4
修改 zend studio 設定
window->preferences->php->php executables->add
填寫內容如下,executable path選擇檔案後php ini file (optional)自動賦值
name : php 5.5.1_cli
executable path : d:\apacheserver\php\php.exe
php ini file (optional) : d:\apacheserver\php\php.ini
sapi type : cli
php debugger : xdebug
點選finish儲存後自動就是預設
(如果只需要cli除錯此步可忽略)點選php server下拉框default php web server右邊的php servers...
選中name|url列表中的一條內容,點選右邊的edit
在彈出框的debugger下拉框中選擇xdebug
開始除錯
在**中在左邊行數欄上雙擊加斷點
run->debug configurations...
或者開啟要執行的頁面
即可以除錯模式執行,也可選擇cli之外其他除錯模式
點選工具欄向下箭頭(step into)或按 f5 逐行執行。點選左邊的綠色向右箭頭(resume)或按f8一直執行,直到斷點處停下
點選紅色按鈕(terminate)結束除錯,再點選臭蟲按鈕重新開始除錯
chrome瀏覽器除錯
f8 下個斷點 f10 單步執行 f11 單步跳入 shift f11 單步跳出 選中變數,右鍵選擇add to watch,檢視變數值比較方便 有時候我們需要監聽某個 dom 被修改情況 js 比較複雜,找不到 對dom做的改變 那麼我們可以直接在 dom 上設定斷點。如圖所見,在元素審查的 el...
google瀏覽器除錯
a.控制台方法和屬性有以下幾個 x dir dirxml keys values profile profileend monitorevents unmonitorevents inspect copy clear geteventlisteners undebug monitor unmonit...
Dorado瀏覽器除錯
通常在專案中我們對js指令碼進行除錯有以下2種方式 首先是最原始也是最簡單的使用alert,在頁面中需要輸出需要的變數的地方加上alert函式,將變數彈出顯示 alert方式雖然簡單,但是除錯繁瑣,假如需要監視的變數過多的話,會彈出大量的彈出框,使用者體驗相當不好。目前alert除錯方式我們不推薦使...