在 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 代理初始化失敗。
JAVA_HOME 指向該 JDK 的安裝根目錄,且 Path 中的 %JAVA_HOME%\bin 在其他 Java 路徑之前。再次以 Debug 模式啟動應用,控制台應正常顯示 Connected to the target VM, address: '127.0.0.1:xxxx', transport: 'socket',調試器即可正常斷點、單步執行。
