首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Eclipse "Unhandled event loop exception PermGen space" 異常排查:原來是改了 exe 名稱

     編輯:Java 相關知識

升級 Eclipse 3.7/4.2 後編譯頻繁報 PermGen space 錯誤並強制退出,調整 -XX:PermSize/MaxPermSize 至 256M 無效。刪除自研插件也無果。最終發現:Eclipse 禁止重命名 eclipse.exe。

問題復現與定位

  • 多版本共存為區分將 exe 改名:eclipse37.exe、eclipse42.exe
  • 僅保留原名 eclipse.exe 的 3.5 版本正常
  • 將 4.2 改回 eclipse.exe,3.5 改為 eclipse35.exe → 問題消失
  • 同理 3.7 也恢復正常

根因推測

Eclipse 啟動器或許通過進程名稱校驗授權/完整性,或依賴固定名稱加載特定原生庫/配置。改名導致運行時環境異常,觸發 PermGen 洩漏式崩潰(實為誤導性錯誤信息)。

教訓

Eclipse 對可執行文件名稱極度敏感,**切勿重命名 eclipse.exe**。多版本管理請使用不同安裝目錄或啟動腳本區分。

這是一個極具迷惑性的「偽 PermGen」問題,實際與內存設置無關,純屬命名規範違規導致的運行時故障。

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