成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

使用Xdebug進(jìn)行遠(yuǎn)程調(diào)試

paulquei / 2356人閱讀

摘要:為什么要用方便聯(lián)調(diào)和客戶端一起聯(lián)調(diào),是會(huì)影響其他人員是使用。關(guān)注數(shù)據(jù)變化正常情況下,我們?cè)谡{(diào)試和開發(fā)時(shí),更關(guān)注數(shù)據(jù)的變化。紅色方形,表示中斷當(dāng)前程序調(diào)試。第三個(gè)圖形示,強(qiáng)制進(jìn)入當(dāng)前函數(shù)內(nèi)部的程序。

為什么要用?

方便聯(lián)調(diào):
和客戶端一起聯(lián)調(diào),是die(); exit(); 會(huì)影響其他人員是使用。

關(guān)注數(shù)據(jù)變化:
正常情況下,我們?cè)谡{(diào)試和開發(fā)時(shí),更關(guān)注數(shù)據(jù)的變化。頻繁斷點(diǎn)、效率比較低。

簡單:
之前的開發(fā)自己比較懶,一直沒用,用起來發(fā)現(xiàn)很簡單。

原理

運(yùn)行xdebug需要客戶端IDE(phpstorm)、遠(yuǎn)程服務(wù)器配合,首先是客戶端配置好端口,發(fā)送debug請(qǐng)求,請(qǐng)求會(huì)通過瀏覽器或者IDE的http請(qǐng)求,攜帶特定的參數(shù)發(fā)送到服務(wù)端,服務(wù)端收到請(qǐng)求后,發(fā)現(xiàn)這是一個(gè)xdebug請(qǐng)求,則與IDE建立dpgp連接,當(dāng)遇到斷點(diǎn)時(shí)候,返回調(diào)試信息給IDE

服務(wù)器的IP是10.0.1.2,端口80上有HTTP

IDE位于未知IP上,因此xdebug.remote_connect_back設(shè)置為1

IDE偵聽端口9000,因此xdebug.remote_port設(shè)置為9000

發(fā)出HTTP請(qǐng)求,Xdebug從HTTP頭中檢測IP地址

Xdebug連接到端口9000上檢測到的IP(10.0.1.42)

調(diào)試運(yùn)行,提供HTTP響應(yīng)

流程

1. 安裝xdebug擴(kuò)展

https://xdebug.org/download.php

2. 遠(yuǎn)程環(huán)境配置
zend_extension=xdebug.so
xdebug.idekey=PHPSTORM
xdebug.remote_connect_back = 1
//如果開啟此,將忽略下面的 xdebug.remote_host 的參數(shù)

xdebug.remote_host=192.168.x.x
//注意這里是,客戶端的ip<即IDE的機(jī)器的ip,不是你的web server>

xdebug.remote_enable=on
xdebug.remote_port = 9001
//注意這里是,客戶端的端口<即IDE的機(jī)器的ip,不是你的web server>

xdebug.remote_handler = dbgp
xdebug.auto_trace = 1
xdebug.remote_log = /tmp/xdebug.log
3. 配置deployment

4. Phpstorm Debug配置

5. 開啟phpstorm 數(shù)據(jù)監(jiān)聽

6. 設(shè)置 debug session

debug session 的工具的目的是設(shè)置一個(gè)cookie, 讓每次發(fā)送數(shù)據(jù)的時(shí)候都會(huì)攜帶這個(gè) cookie, 從而識(shí)別監(jiān)聽.

6.1) 安裝工具
https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc

6.2) 點(diǎn)擊圖標(biāo)設(shè)置

6.3) 已經(jīng)設(shè)置了cookie, Key 是?XDEBUG_SESSION, 值是?PHPSTORM

7. 運(yùn)行頁面

其他調(diào)試方式

上面的模式有個(gè)缺點(diǎn),插件是針對(duì)于一個(gè)標(biāo)簽頁
快捷鍵:
Mac: Ctrl+Shift+X Windows:Alt+Shift+X

內(nèi)部模式 1. 設(shè)置 web 訪問的服務(wù)器

2. 配置調(diào)試頁面

我們這里創(chuàng)建的調(diào)試頁面的類型是PHP Web Page, 服務(wù)器選擇的是剛才已經(jīng)建立好的服務(wù)器

3. 運(yùn)行測試頁面

自動(dòng)生成:XDEBUG_SESSION_START
http://example.com/?XDEBUG_SESSION_START=13608

Fiddler工具調(diào)試
if (oSession.host == "xxxx")
{
    var sCookie = oSession.oRequest["Cookie"] + ";XDEBUG_SESSION=PHPSTORM;";
    oSession.oRequest.headers.Add("Cookie", sCookie);        
}
命令行
export XDEBUG_CONFIG="idekey=PHPSTORM"
php myscript.php
多人開發(fā)模式

https://derickrethans.nl/debugging-with-multiple-users.html
插件下載地址:http://code.activestate.com/komodo/remotedebugging/

其他 1. 查看兼容性

第一次運(yùn)行的時(shí)候可以通過 phpstorm 自帶的工具來檢查配置的兼容性.
Run > Web Server Debug Validation
校驗(yàn)代碼
:https://gist.github.com/han8g...

2. debug 幫助面板說明

左側(cè)
綠色三角形 :?Resume Program,表示將繼續(xù)執(zhí)行,直到下一個(gè)中斷點(diǎn)停止。
紅色方形 :?Stop,表示中斷當(dāng)前程序調(diào)試。

上方
第一個(gè)圖形示 :?Step Over,跳過當(dāng)前函數(shù)。
第二個(gè)圖形示 :?Step Into,進(jìn)入當(dāng)前函數(shù)內(nèi)部的程序(相當(dāng)于觀察程序一步一步執(zhí)行)。
第三個(gè)圖形示 :?Force Step Into,強(qiáng)制進(jìn)入當(dāng)前函數(shù)內(nèi)部的程序。
第四個(gè)圖形示 :?Step Out,跳出當(dāng)前函數(shù)內(nèi)部的程式。
第五個(gè)圖形示 :?Run to Cursor,定位到當(dāng)前光標(biāo)。

參考文章

https://segmentfault.com/a/1190000011387666

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/30851.html

相關(guān)文章

  • IDEA集成xdebug遠(yuǎn)程調(diào)試功能

    摘要:遠(yuǎn)程調(diào)試分為兩部分調(diào)試客戶端和服務(wù)端。主動(dòng)去連接的端口,連接成功后,調(diào)試開始。當(dāng)然,單步調(diào)試的另一個(gè)好處是可以讓初學(xué)者快速掌握項(xiàng)目的架構(gòu)和執(zhí)行流程。 博客原文鏈接 在使用php調(diào)試代碼的時(shí)候,我通常都是使用簡單暴力的echo之類的輸出調(diào)試。這種調(diào)試方法的效率與個(gè)人能力正相關(guān),你加一個(gè)echo多數(shù)是為了驗(yàn)證自己的一個(gè)推測,那么你對(duì)代碼越熟悉,你推測的就會(huì)越準(zhǔn)確,bug解決的就越快,相反...

    haobowd 評(píng)論0 收藏0
  • 一文掌握PHP Xdebug 本地與遠(yuǎn)程調(diào)試

    摘要:原文鏈接一文掌握本地與遠(yuǎn)程調(diào)試很久沒寫了同樣很很久沒有用了,近期有個(gè)簡單的場景要用到,簡單記錄一下關(guān)鍵步驟。配置與本地調(diào)試的配置不一樣的地方就是和,其他地方大同小異。 原文鏈接:一文掌握PHP Xdebug 本地與遠(yuǎn)程調(diào)試 很久沒寫PHP了、同樣很很久沒有用XDebug了,近期有個(gè)簡單的場景要用到,簡單記錄一下關(guān)鍵步驟。 本地調(diào)試 本地環(huán)境: $ php -v PHP 7.3.4 (c...

    MrZONT 評(píng)論0 收藏0
  • 在Docker中使用Xdebug

    摘要:說明開發(fā)和調(diào)試環(huán)境為本地中的,環(huán)境為本地下的。再次在容器中抓取端口數(shù)據(jù)包連接的源地址已經(jīng)正確再次使用的斷點(diǎn)調(diào)試時(shí),控制臺(tái)如下所以,使用進(jìn)行遠(yuǎn)程調(diào)試時(shí),需要選擇合適的調(diào)試模式,在下建議使用遠(yuǎn)程模式。 首發(fā)于 樊浩柏科學(xué)院 我們經(jīng)常會(huì)使用 PhpStorm 結(jié)合 Xdebug 進(jìn)行代碼斷點(diǎn)調(diào)試,這樣能追蹤程序執(zhí)行流程,方便調(diào)試代碼和發(fā)現(xiàn)潛在問題。博主將開發(fā)環(huán)境遷入 Docker 后,Xd...

    pakolagij 評(píng)論0 收藏0
  • 在Docker中使用Xdebug

    摘要:說明開發(fā)和調(diào)試環(huán)境為本地中的,環(huán)境為本地下的。再次在容器中抓取端口數(shù)據(jù)包連接的源地址已經(jīng)正確再次使用的斷點(diǎn)調(diào)試時(shí),控制臺(tái)如下所以,使用進(jìn)行遠(yuǎn)程調(diào)試時(shí),需要選擇合適的調(diào)試模式,在下建議使用遠(yuǎn)程模式。 首發(fā)于 樊浩柏科學(xué)院 我們經(jīng)常會(huì)使用 PhpStorm 結(jié)合 Xdebug 進(jìn)行代碼斷點(diǎn)調(diào)試,這樣能追蹤程序執(zhí)行流程,方便調(diào)試代碼和發(fā)現(xiàn)潛在問題。博主將開發(fā)環(huán)境遷入 Docker 后,Xd...

    jerry 評(píng)論0 收藏0
  • XDEBUG 從入門到精通

    摘要:默認(rèn)關(guān)閉如果該設(shè)置為,那么將禁用關(guān)閉操作符,以便不再隱藏通知警告和錯(cuò)誤。將寫入垃圾收集統(tǒng)計(jì)信息輸出的目錄,確保將運(yùn)行的用戶具有對(duì)該目錄的寫入權(quán)限。此設(shè)置確定用于將垃圾回收統(tǒng)計(jì)信息轉(zhuǎn)儲(chǔ)到的文件的名稱。 showImg(https://segmentfault.com/img/bVbgEC5?w=480&h=274); 前言 Xdebug是PHP的擴(kuò)展,用于協(xié)助調(diào)試和開發(fā)。 它包含一個(gè)用...

    leejan97 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<