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

2019-03-22 16:28 更新

零配置調(diào)試

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

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

啟動調(diào)試會話

在開始調(diào)試之前,請確保已正確安裝和配置調(diào)試引擎。IntelliJ IDEA支持使用兩種最流行的工具進(jìn)行調(diào)試: Xdebug和Zend Debugger。這些工具不能同時使用,因為它們相互排斥。要避免此問題,您需要更新php.ini文件中的相應(yīng)部分,如配置Xdebug配置Zend調(diào)試器中所述。

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

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

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

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

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

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

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

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

    開始監(jiān)聽調(diào)試連接

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

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

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

    • 在主菜單上,選擇:運行|切換行斷點。

    • 按下Ctrl+F8。

    設(shè)置斷點

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

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

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

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

    Chrome中的Xdebug助手

啟動調(diào)試會話

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

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

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

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

    • 要使程序自動運行到下一個斷點,請通過選擇:運行|恢復(fù)程序,或按下F9來恢復(fù)會話。

指定要跳過請求的腳本

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

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號