廢話不說,直接進入主題。
用Mac的同學在安裝MAT(Memory Analyzer) 的時候會碰到一系列問題:
1.您需要安裝舊的Java 6 版本才能使用 xxx
碰到這個問題是你的JVM版本太低了, 需要下載高版本的JVM,首先檢視您本地JVM的版本:
/usr/libexec/java_home -V
複製程式碼
一般需要1.7或者以上版本才行,您需要下載更高版本的 java SE,安裝完成後再次通過上面的命令檢視版本,如果本地有多個版本,可以開啟MAT的配置檔案 MemoryAnalyzer.ini (路徑:Contents/Eclipse/MemoryAnalyzer.ini ),手動指定使用的版本。
2.提示打不開,錯誤日誌在 .elipse/xxxxx.log
開啟使用 vim開啟log,大致如下:
大致的意思是這幾個位置無法讀寫。 那麼我們就指定新的讀寫位置,同樣是在MemoryAnalyzer.ini 中編輯(分兩行),例如:
-data
/Users/chao/work/tool/mat
複製程式碼
還有一點很重要,就是要寫在 vmargs 等引數之前才生效。 這是我們已經可以開啟 MAT 了。
好像很不錯的樣子,大部分同學已經開始使用了,但是還有無數不少的人會碰到第三種問題:
3.MAT頁面除了拖拽視窗,其他什麼都無法響應
真是很頭疼的問題,因為沒有日誌可看,也沒有任何提示,讓人懷疑是不是中了邪。(反正我是說出了 shit !!!)
查閱stack 發現可能是 amt的版本問題(查閱英文資料真是件體力活) 同樣找到更高的版本的 swt, 下載下來,解壓如下:
,現在我們想辦法用它來 替換 MAT 中舊的版本。 有兩種方法替換-
1.手動複製,重新命名到 以下路徑:
-
2.使用command:
mv /Users/chao/Downloads/swt-4.7-cocoa-macosx-x86_64/swt.jar /Users/chao/Downloads/mat\ 2.app/Contents/Eclipse/plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.104.2.v20160212-1350.jar
複製程式碼
請根據你們自己的路徑做適當修改。
至此,MAT可以完美跑起來了。
好了,就到這了,希望能幫到你們,謝謝