IntelliJ IDEA:零配置調(diào)試

2019-03-22 16:28 更新

零配置調(diào)試

此功能僅在Ultimate版本中受支持。
以下內(nèi)容僅在安裝并啟用PHP插件時(shí)有效!

在此調(diào)試模式下,IntelliJ IDEA完全控制調(diào)試過(guò)程:它啟動(dòng)應(yīng)用程序,打開(kāi)瀏覽器,并根據(jù)PHP Web頁(yè)面調(diào)試配置激活調(diào)試引擎。

啟動(dòng)調(diào)試會(huì)話(huà)

在開(kāi)始調(diào)試之前,請(qǐng)確保已正確安裝和配置調(diào)試引擎。IntelliJ IDEA支持使用兩種最流行的工具進(jìn)行調(diào)試: Xdebug和Zend Debugger。這些工具不能同時(shí)使用,因?yàn)樗鼈兿嗷ヅ懦狻R苊獯藛?wèn)題,您需要更新php.ini文件中的相應(yīng)部分,如配置Xdebug配置Zend調(diào)試器中所述。

  1. 在“設(shè)置/首選項(xiàng)”對(duì)話(huà)框(Ctrl+Alt+S)中,單擊“語(yǔ)言和框架”下的“PHP”。
  2. 在打開(kāi)的PHP頁(yè)面上,單擊“CLI解釋器”字段旁邊的browseButton。
  3. 在打開(kāi)的“CLI解釋器”對(duì)話(huà)框中,“配置文件”只讀字段顯示活動(dòng)php.ini文件的路徑。單擊“在編輯器中打開(kāi)”。

要啟動(dòng)零配置調(diào)試會(huì)話(huà),請(qǐng)執(zhí)行以下常規(guī)步驟。

驗(yàn)證調(diào)試引擎安裝

請(qǐng)執(zhí)行以下任何操作:

  • 在命令行中,運(yùn)行該php --version命令。輸出應(yīng)列出已安裝擴(kuò)展中的調(diào)試引擎:
    Xdebug:
    安裝了Xdebug擴(kuò)展
    Zend debugger:
    ps_terminal_zend_debugger_installed
  • 創(chuàng)建一個(gè)包含phpinfo();函數(shù)調(diào)用的php文件。然后在瀏覽器中打開(kāi)此文件。該phpinfo輸出應(yīng)該包含您的調(diào)試引擎的部分:
    Xdebug:
    調(diào)試引擎已安裝
    Zend debugger:
    ps_zend_debugger_enabled_browser

您還可以在IntelliJ IDEA中驗(yàn)證調(diào)試引擎的配置,以確保提供的配置參數(shù)正確。

啟用監(jiān)聽(tīng)傳入調(diào)試連接

  • 切換IntelliJ IDEA工具欄上的“開(kāi)始監(jiān)聽(tīng)PHP調(diào)試連接”按鈕 開(kāi)始監(jiān)聽(tīng)php調(diào)試連接,使其更改為 停止監(jiān)聽(tīng)php調(diào)試連接。之后,IntelliJ IDEA開(kāi)始監(jiān)聽(tīng)當(dāng)前項(xiàng)目中使用的調(diào)試引擎的端口。調(diào)試端口在“設(shè)置/首選項(xiàng)”對(duì)話(huà)框(Ctrl+Alt+S)的“語(yǔ)言和框架|PHP|調(diào)試”的IntelliJ IDEA級(jí)別中設(shè)置。

    開(kāi)始監(jiān)聽(tīng)調(diào)試連接

在代碼中設(shè)置斷點(diǎn)

  • 通過(guò)執(zhí)行以下任一操作在代碼中設(shè)置斷點(diǎn):

    • 在要切換斷點(diǎn)的行上單擊左側(cè)裝訂線區(qū)域。

    • 在主菜單上,選擇:運(yùn)行|切換行斷點(diǎn)。

    • 按下Ctrl+F8。

    設(shè)置斷點(diǎn)

    或者,選擇:運(yùn)行|在PHP腳本的第一行中斷,以便在建立與IntelliJ IDEA的連接后立即停止調(diào)試器(而不是在達(dá)到第一個(gè)斷點(diǎn)之前自動(dòng)運(yùn)行)。

在服務(wù)器上激活調(diào)試器

  • 要從瀏覽器啟用和停止調(diào)試引擎,您需要設(shè)置一個(gè)特殊的GET/POSTCOOKIE參數(shù)。您可以在php.ini配置文件中手動(dòng)執(zhí)行此操作,也可以使用可用的瀏覽器調(diào)試擴(kuò)展之一。如果您使用的瀏覽器的擴(kuò)展不可用,您可以生成的“啟動(dòng)調(diào)試器/停止調(diào)試器”書(shū)簽,并將它們添加到瀏覽器的工具欄。

    在瀏覽器中激活調(diào)試擴(kuò)展:

    Chrome中的Xdebug助手

啟動(dòng)調(diào)試會(huì)話(huà)

  1. 在瀏覽器中重新加載頁(yè)面并返回到IntelliJ IDEA。在“從<調(diào)試引擎>傳入連接”對(duì)話(huà)框中,選擇路徑映射,以便IntelliJ IDEA可以將Web服務(wù)器上的遠(yuǎn)程文件映射到項(xiàng)目中的本地文件。如果您定義了部署配置,則IntelliJ IDEA將根據(jù)您在該配置中設(shè)置的路徑配置映射。

    傳入調(diào)試器連接X(jué)debug
  2. 到達(dá)斷點(diǎn)后,調(diào)試器將被暫停。您現(xiàn)在可以調(diào)查該應(yīng)用程序。

    應(yīng)用程序在斷點(diǎn)處停止
  3. 繼續(xù)運(yùn)行程序并在其再次暫停時(shí)檢查其框架。

    • 要手動(dòng)控制程序執(zhí)行,請(qǐng)使用“運(yùn)行”菜單下的命令或工具欄按鈕:Step Into(F7),Step Out(Shift+F8),Step Over(F8)等來(lái)逐步執(zhí)行代碼。

    • 要使程序自動(dòng)運(yùn)行到下一個(gè)斷點(diǎn),請(qǐng)通過(guò)選擇:運(yùn)行|恢復(fù)程序,或按下F9來(lái)恢復(fù)會(huì)話(huà)。

指定要跳過(guò)請(qǐng)求的腳本

您還可以指定希望IntelliJ IDEA在調(diào)試期間忽略的腳本請(qǐng)求。當(dāng)您的應(yīng)用程序包含使用AJAX的腳本時(shí),此方法很有用。假設(shè)你有一個(gè)menu-ajax-script.php,它“重新加載”你網(wǎng)頁(yè)的一部分。此腳本正常工作,因此您無(wú)需進(jìn)行調(diào)試。但是,在調(diào)試會(huì)話(huà)期間仍會(huì)請(qǐng)求此腳本。要忽略與此腳本的傳入連接,請(qǐng)將menu-ajax-script.php腳本添加到跳過(guò)的路徑列表中。

  1. 在“設(shè)置/首選項(xiàng)”對(duì)話(huà)框(Ctrl+Alt+S)中,導(dǎo)航到:語(yǔ)言和框架|PHP,并單擊“調(diào)試”下的“跳過(guò)路徑”。
  2. 在打開(kāi)的“跳過(guò)路徑”頁(yè)面上,配置腳本和文件夾的“忽略列表”,如果IntelliJ IDEA接收到傳入連接,則不會(huì)調(diào)用腳本。
    • 要向列表中添加新條目,請(qǐng)單擊“添加( 圖標(biāo)一般添加svg)”按鈕或按下Alt+Insert。然后單擊“瀏覽( browseButton)”并在打開(kāi)的對(duì)話(huà)框中選擇要跳過(guò)連接的文件或文件夾。
    • 要從列表中刪除條目,請(qǐng)選擇該條目并單擊“刪除( 圖標(biāo)一般刪除svg)”按鈕或按下Alt+Delete。該腳本現(xiàn)在將在收到請(qǐng)求后執(zhí)行。
  3. 要讓IntelliJ IDEA在每次收到要跳過(guò)的腳本的請(qǐng)求時(shí)通知您,請(qǐng)選中“通知跳過(guò)的路徑”復(fù)選框。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)