在實時模式下進行調試
此功能僅在Ultimate版本中受支持。
以下內容僅在安裝并啟用PHP插件時有效!
IntelliJ IDEA支持在實時(JIT)模式下使用Xdebug,因此它不會一直附加到您的代碼,而是僅在發(fā)生錯誤或拋出異常時才連接到IntelliJ IDEA。Xdebug操作模式通過xdebug.remote_mode設置切換,默認情況下設置為req。該模式可用于調試命令行腳本和Web服務器調試。
配置Xdebug以在實時模式下使用
根據(jù)您是要調試命令行腳本還是使用Web服務器,請使用以下方案之一。
命令行腳本
要調試命令行腳本,請將自定義-dxdebug.remote_mode=jit
指令指定為其他配置選項:
- 按下Ctrl+Alt+S或選擇:文件|設置(對于Windows和Linux),或IntelliJ IDEA|首選項(對于macOS)以打開“設置/首選項對話框”,然后單擊“語言和框架”下的PHP。
- 從PHP可執(zhí)行文件下拉列表中,選擇相關的PHP解釋器,然后單擊它旁邊的
。 - 在打開的“CLI解釋器”對話框中,單擊“附加”區(qū)域中“配置選項”文本框旁邊的
。 - 在打開的“配置選項”對話框中,單擊
以添加新條目,然后在“配置指令”字段鍵入-dxdebug.remote_mode并且在“值”字段鍵入jit。
單擊“確定”后,將返回“CLI解釋器”對話框,其中,“配置選項”文本框會顯示-dxdebug.remote_mode=jit。
Web服務器調試
- 在主菜單上,選擇:運行|Web服務器調試驗證。
- 在打開的“Web服務器調試驗證”對話框中,選擇要驗證調試器的Web服務器。
- 選擇“本地Web服務器”或“共享文件夾”以檢查與本地Web服務器關聯(lián)的調試程序。
- 創(chuàng)建驗證腳本的路徑:在此字段中,指定將在其中創(chuàng)建驗證腳本的服務器文檔根目錄下的文件夾的絕對路徑。對于就地類型的Web服務器,該文件夾位于項目根目錄下。
該文件夾必須可通過http訪問。 - 驗證腳本的URL:在此文本框中,鍵入將在其中創(chuàng)建驗證腳本的文件夾的URL地址。如果項目根目錄映射到可通過http訪問的文件夾,則可以指定項目根目錄或其下的任何其他文件夾。
- 選擇“遠程Web服務器” 以檢查與遠程服務器關聯(lián)的調試器。
- 創(chuàng)建驗證腳本的路徑:在此字段中,指定將在其中創(chuàng)建驗證腳本的服務器文檔根目錄下的文件夾的絕對路徑。該文件夾必須可通過http訪問。
- 部署服務器: 在此字段中,指定“本地服務器”或“遠程服務器”類型的服務器訪問配置以訪問目標環(huán)境。
從列表中選擇配置,或單擊“部署”對話框中的“瀏覽(
)”。
- 單擊“驗證”以使IntelliJ IDEA創(chuàng)建驗證腳本,將其部署到目標遠程環(huán)境,然后在那里運行。
- 打開報告為已加載并與Xdebug關聯(lián)的php.ini文件。
- 在php.ini文件中,找到該[XDebug]部分,并將xdebug.remote_mode 默認值req更改為jit。
調試會話
設置斷點并啟動調試會話,如“啟動調試會話”或“使用PHP Web頁面調試配置調試”中所述。
Xdebug會在以下兩種情況下連接到IntelliJ IDEA:
- 發(fā)生錯誤時。在這種情況下,Xdebug在錯誤條件之后立即停在行上。原因是IntelliJ IDEA首先必須在它知道出錯之前運行錯誤的代碼。
- 拋出異常時。如果處理異常,Xdebug會在catch塊的第一行(如果有)或在finally塊處中斷。
更多建議: