2008-10-29 77 views
0

我最近發現了令人難以置信的有用的Eclipse Memory Analysis Tool,它可以快速找到Java應用程序中的內存泄漏。不幸的是,在將我的JDK切換到1.6(在Mac OS 10.5下)之後,JVM在啓動時立即終止。所有出現的是一個對話框,用「退出代碼= -1」表示「JVM終止」。當在J2SE 6.0的Mac OS上啓動Eclipse MAT時,JVM終止

其他人遇到這個?也許有一種方法可以將其配置爲使用不同的JDK? (比如1.5:它被證明是兼容的)

回答

3

配置Eclipse使用另一個VM使用此命令行:

eclipse -vm <path to java> 

您還可以指定在Eclipse.app/Contents/Info.plist路徑。有一個這樣的部分:

<!-- to use a specific Java version (instead of the platform's default) uncomment one of the following options: 
    <string>-vm</string><string>/System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Commands/java</string> 
    <string>-vm</string><string>/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Commands/java</string> 
--> 

對於內存分析器,您可以在MemoryAnalyzer.app/Contents下找到Info.plist文件。

+0

我應該指出,這不是我正在運行的eclipse,而是一個基於Eclipse平臺的應用程序。這就是說,我將不得不看看我是否可以通過java的路徑作爲應用程序的命令行參數。 – 2008-10-29 18:12:01

1

Mac官方的Java 6只有一個64位的數據模型。不幸的是,Eclipse使用Mac上的Carbon,只有32位可用。簡而言之,使用正式的Java 6發行版運行Eclipse是不可能的。

傳統的解決方案是將默認VM設置爲Java 5,然後在Eclipse中選擇Java 6作爲JRE/JDK。

如果您確實需要使用Java 6運行Eclipse,那麼您可以看看SoyLatte,它是OpenJDK的一種構建,它們都支持32位和64位模式。

+0

這就是我不得不做的 – 2008-10-29 13:59:12

相關問題