在 JDK 1.6 環境下使用 MyEclipse 進行調試啟動時,控制台拋出:
ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return = -2
JDWP exit error AGENT_ERROR_NO_JNI_ENV(183): [../../../src/share/back/until.c:820]
此為 JVM 調試接口 (JDWP) 初始化失敗,常見於舊版 IDE 與 JDK 版本不兼容導致調試代理掛載異常。
public static void main(String[] args) {
// 業務邏輯...
System.exit(0); // 強制 JVM 正常退出,繞過調試代理清理階段的異常
}
GetEnv() 失敗表示調試代理未能正確附著。System.exit(0) 強制終止 JVM 進程,跳過正常銷毀流程中有問題的調試代理分離步驟,從而規避報錯。-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 手動控制調試端口。System.exit(0) 是針對歷史版本衝突的戰術繞過方案,解決當下調試阻塞問題;工具鏈升級才是戰略治本之道。