對於php來說,debug的話,有個東西叫xdebug,當然配置這個時候,特別在mac下出了很多坑,這裡強烈推薦乙個mac下類似phpstudy的東西,叫做mxsrvs,了解一下?
1,ide(如phpstorm)已經整合了乙個遵循bgdp的xdebug外掛程式,當開啟它的時候, 會在本地開乙個xdebug除錯服務,監聽在偵錯程式中所設定的埠上,預設是9000,這個服務就會監聽所有到9000埠的鏈結。在phpstorm中,位於:工具欄 > run > start / stop listening for php xdebug connetions。
2,當瀏覽器傳送乙個帶xdebug_session_start的引數的請求到伺服器時,伺服器接受後將其轉到後端的php處理,如果php
開啟了xdebug模組
,則會將debug資訊**到客戶端ip的ide的除錯埠上。當引數或者cookie資訊中不帶xdebug_session_start,則不會啟動除錯。這就為後續在瀏覽器中新增開關提供了可能。xdebug的官方給出了乙個示例圖:很好的展示了相互呼叫關係。
這個示例圖是繫結了ip,即使用了固定ip位址,xdebug.remote_connect_back = 0 ,也是 xdebug 的預設方式,這種情況下,xdebug 在收到除錯通知時會讀取配置 xdebug.remote_host 和 xdebug.remote_port ,預設是 localhost:9000,然後向這個埠傳送通知,這種方式只適合單一客戶端開發除錯。
那從使用者發起請求到,到ide的整個流程圖如下:
當使用者的請求引數或者cookie中不帶除錯資訊,資料流就是瀏覽器到apache(或其他web容器)到php,如果加上了除錯引數,則請求還會由php轉給xdebug處理,xdebug再把資訊**給ide,完成除錯功能。
解決win8 64位版本下無法使用debug
直接window鍵 r,輸入cmd,在dos命令輸入debug,無法debug.如下圖 當然也找到了解決方案 4.執行dosbox,輸入mount c d 然後輸入c 最後輸入debug就ok了 如下圖 這是因為他們漏了一步,在mount c d 後面要輸入c 接著再輸入debug就ok了。像我這樣...
DP問題已知思路情況下寫錯了如何Debug
以計蒜客cs109 刪除最小元素習題為例 給定有 n n 個數的 a a 序列 a 1,a 2,a 3 cdots a na 1 a 2 a 3 a n 對於這個序列,我們想得到乙個子串行 a a cdots a cdots a 1 le p 1 p 2 cdots p i cdots p m le...
記錄下我的所有離奇的非技術問題的debug經歷
記錄下我的所有離奇的非技術問題的 debug經歷 對於這些由於非技術問題 弱智的原因想起的問題 就應該用弱智的方法來對待 由近及遠 1 新增乙個退出按鈕時 無論如何也無法從 ini檔案中讀取出 myexit的值,無論資料值還是 退出 bmp 解決 此 ini,非彼ini,應該在tuibing top...