如何在 Mac OS 上运行 Eclipse MAT(内存分析器工具)


在本文中,我想描述我在 Mac OS 上运行 Eclipse 的 MAT(内存分析器工具)时遇到的问题。我使用的是 macOS Big Sur(版本 11.7.4)。

下载 MAT

下载地址:https://www.eclipse.org/mat/downloads.php

1.12 版本下载地址:https://www.eclipse.org/downloads/download.php?file=/mat/1.12.0/rcp/MemoryAnalyzer-1.12.0.20210602-macosx.cocoa.x86_64.dmg

如果看到同样的警告,请不要点击两次 mat.app,而是点击一次,然后选择 “打开”。

问题-发生错误

让我们看看错误是什么。在终端中,转到显示路径下的目录并列出文件:

在您最喜欢的编辑器或语法突出显示更友好的编辑器(例如 VS Code)中打开 .log 文件,然后检查错误是什么:

重要的部分是:

ENTRY org.eclipse.osgi 4 0 2024-03-22 14:07:49.030
!MESSAGE Application error
!STACK 1
java.lang.IllegalStateException: The platform metadata area could not be written: /private/var/folders/d0/8hknzwvn0d57ysjmffsmg1940000gn/T/AppTranslocation/939781AA-B254-47EF-9930-F983779306B3/d/mat.app/Contents/MacOS/workspace/.metadata.  By default the platform writes its content
under the current working directory when the platform is launched.  Use the -data parameter to
specify a different content area for the platform.

解决方案

经过一些 stackoverflowing 之后,我在这个问题 How to run Eclipse memory detector on Mac os? 的一个回复中找到了解决方案。

  1. 为MAT工作区创建一个目录:

    mkdir /Users/zhangquan/mat_workspace
  2. 移动MAT到applications目录:

    mv ~/Downloads/my_software/mat.app /Applications/
  3. 通过提供的工作空间路径来更新 MAT 初始设置,进入MAT应用程序目录并找到 MemoryAnalyzer.ini 文件

    cd /Applications/mat.app/Contents/Eclipse

    在MemoryAnalyzer.ini中添加以下行:

    -data
    
    /Users/zhangquan/mat_workspace

    在我的情况下,MemoryAnalyzer.ini整个文件有以下内容:

    -startup
    ../Eclipse/plugins/org.eclipse.equinox.launcher_1.6.200.v20210416-2027.jar
    --launcher.library
    ../Eclipse/plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.2.200.v20210527-0259
    -data
    /Users/zhangquan/mat_workspace
    -vmargs
    -Xmx1024m
    -Dorg.eclipse.swt.internal.carbon.smallFonts
    -XstartOnFirstThread

现在您可以在 Spotlight 搜索中输入“mat.app”,应用程序应该打开,没有任何错误:


文章作者: 张权
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 张权 !
评论
  目录