首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

IntelliJ IDEA 無法啟動調試:JDWP Transport dt_socket 初始化失敗的解決方案

     編輯:程式設計綜合問答

問題現象

在 IntelliJ IDEA 中嘗試以調試模式啟動 Java 應用時,控制台拋出以下錯誤,導致調試器無法連接:

ERROR: transport library not found: dt_socket
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_LOAD(509)
JDWP exit error AGENT_ERROR_TRANSPORT_LOAD(196): No transports initialized [../../../src/share/back/debugInit.c:690]
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_LOAD(196)

原因分析

這是一個經典的 JDK 環境配置衝突問題。錯誤提示 transport library not found: dt_socket 表明 JVM 無法載入用於調試通訊的傳輸庫。最常見的原因是系統中安裝了多個 JDK 版本,且 IDEA 專案設定的 JDK、環境變數 JAVA_HOME 以及系統 Path 中指向的 JDK 不一致。當 IDEA 嘗試啟動調試進程時,實際調用的 java.exe 與專案配置的 JDK 版本不匹配,導致 JDWP 代理初始化失敗。

解決步驟

  1. 統一 JDK 版本: 建議只保留一個主要開發用的 JDK 版本,卸載多餘的版本。
  2. 檢查環境變數: 確保 JAVA_HOME 指向該 JDK 的安裝根目錄,且 Path 中的 %JAVA_HOME%\bin 在其他 Java 路徑之前。
  3. IDEA 專案設定: 打開 File > Project Structure > Project,將 Project SDK 設定為與環境變數一致的 JDK。
  4. 模組設定: 在 Project Structure > Modules > Dependencies 中,確認 Module SDK 也使用同一個 JDK。
  5. 重啟 IDEA: 修改完成後,重啟 IntelliJ IDEA 使配置生效。

驗證

再次以 Debug 模式啟動應用,控制台應正常顯示 Connected to the target VM, address: '127.0.0.1:xxxx', transport: 'socket',調試器即可正常斷點、單步執行。

錯誤截圖

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved