无法加载StandAlone版本的Eclipse MAT(内存分析器工具)

时间:2016-02-11 09:26:24

标签: eclipse memory-leaks mat heap-dump

我想在我的本地系统上分析堆转储。所以我下载了64位版本的独立MAT。

但我无法启动MAT。当我双击exe文件时,MAT UI没有启动。

MAT在“配置”目录下生成错误日志。根据日志,MAT无法解析“org.eclipse.birt.chart.device.extension”的依赖关系。请在下面查看更多详细信息:

!SESSION 2016-02-11 03:40:49.831 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_18
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Command-line arguments:  -os win32 -ws win32 -arch x86

!ENTRY org.eclipse.birt.chart.device.extension 4 0 2016-02-11 03:41:01.810
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.eclipse.birt.chart.device.extension [24]
  Unresolved requirement: Require-Bundle: org.eclipse.birt.chart.engine; bundle-version="[2.1.0,5.0.0)"
    -> Bundle-SymbolicName: org.eclipse.birt.chart.engine; bundle-version="4.5.0.v201506092134"; singleton:="true"
       org.eclipse.birt.chart.engine [26]
         Unresolved requirement: Require-Bundle: org.eclipse.birt.core; bundle-version="[2.1.0,5.0.0)"; visibility:="reexport"
           -> Bundle-SymbolicName: org.eclipse.birt.core; bundle-version="4.5.0.v201506092134"; singleton:="true"
              org.eclipse.birt.core [28]
                Unresolved requirement: Require-Bundle: org.eclipse.core.runtime; bundle-version="[3.2.0,4.0.0)"; visibility:="reexport"
                  -> Bundle-SymbolicName: org.eclipse.core.runtime; bundle-version="3.11.0.v20150405-1723"; singleton:="true"
                     org.eclipse.core.runtime [40]
                       Unresolved requirement: Require-Bundle: org.eclipse.core.jobs; bundle-version="[3.2.0,4.0.0)"; visibility:="reexport"
                         -> Bundle-SymbolicName: org.eclipse.core.jobs; bundle-version="3.7.0.v20150330-2103"; singleton:="true"
                            org.eclipse.core.jobs [37]
                              Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=1.7))"

    at org.eclipse.osgi.container.Module.start(Module.java:434)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

!ENTRY org.eclipse.birt.chart.device.swt 4 0 2016-02-11 03:41:01.866
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.eclipse.birt.chart.device.swt [25]
  Unresolved requirement: Require-Bundle: org.eclipse.birt.chart.engine; bundle-version="[2.1.0,5.0.0)"
    -> Bundle-SymbolicName: org.eclipse.birt.chart.engine; bundle-version="4.5.0.v201506092134"; singleton:="true"
       org.eclipse.birt.chart.engine [26]
         Unresolved requirement: Require-Bundle: org.eclipse.birt.core; bundle-version="[2.1.0,5.0.0)"; visibility:="reexport"
           -> Bundle-SymbolicName: org.eclipse.birt.core; bundle-version="4.5.0.v201506092134"; singleton:="true"
              org.eclipse.birt.core [28]
                Unresolved requirement: Require-Bundle: org.eclipse.core.runtime; bundle-version="[3.2.0,4.0.0)"; visibility:="reexport"
                  -> Bundle-SymbolicName: org.eclipse.core.runtime; bundle-version="3.11.0.v20150405-1723"; singleton:="true"
                     org.eclipse.core.runtime [40]
                       Unresolved requirement: Require-Bundle: org.eclipse.core.jobs; bundle-version="[3.2.0,4.0.0)"; visibility:="reexport"
                         -> Bundle-SymbolicName: org.eclipse.core.jobs; bundle-version="3.7.0.v20150330-2103"; singleton:="true"
                            org.eclipse.core.jobs [37]
                              Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=1.7))"

    at org.eclipse.osgi.container.Module.start(Module.java:434)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

!ENTRY org.eclipse.birt.chart.engine 4 0 2016-02-11 03:41:01.867
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.eclipse.birt.chart.engine [26]
  Unresolved requirement: Require-Bundle: org.eclipse.birt.core; bundle-version="[2.1.0,5.0.0)"; visibility:="reexport"
    -> Bundle-SymbolicName: org.eclipse.birt.core; bundle-version="4.5.0.v201506092134"; singleton:="true"
       org.eclipse.birt.core [28]
         Unresolved requirement: Require-Bundle: org.eclipse.core.runtime; bundle-version="[3.2.0,4.0.0)"; visibility:="reexport"
           -> Bundle-SymbolicName: org.eclipse.core.runtime; bundle-version="3.11.0.v20150405-1723"; singleton:="true"
              org.eclipse.core.runtime [40]
                Unresolved requirement: Require-Bundle: org.eclipse.core.jobs; bundle-version="[3.2.0,4.0.0)"; visibility:="reexport"
                  -> Bundle-SymbolicName: org.eclipse.core.jobs; bundle-version="3.7.0.v20150330-2103"; singleton:="true"
                     org.eclipse.core.jobs [37]
                       Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=1.7))"

    at org.eclipse.osgi.container.Module.start(Module.java:434)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

!ENTRY org.eclipse.birt.chart.engine.extension 4 0 2016-02-11 03:41:01.867
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.eclipse.birt.chart.engine.extension [27]
  Unresolved requirement: Require-Bundle: org.eclipse.birt.chart.engine; bundle-version="[2.1.0,5.0.0)"
    -> Bundle-SymbolicName: org.eclipse.birt.chart.engine; bundle-version="4.5.0.v201506092134"; singleton:="true"
       org.eclipse.birt.chart.engine [26]
         Unresolved requirement: Require-Bundle: org.eclipse.birt.core; bundle-version="[2.1.0,5.0.0)"; visibility:="reexport"
           -> Bundle-SymbolicName: org.eclipse.birt.core; bundle-version="4.5.0.v201506092134"; singleton:="true"
              org.eclipse.birt.core [28]
                Unresolved requirement: Require-Bundle: org.eclipse.core.runtime; bundle-version="[3.2.0,4.0.0)"; visibility:="reexport"
                  -> Bundle-SymbolicName: org.eclipse.core.runtime; bundle-version="3.11.0.v20150405-1723"; singleton:="true"
                     org.eclipse.core.runtime [40]
                       Unresolved requirement: Require-Bundle: org.eclipse.core.jobs; bundle-version="[3.2.0,4.0.0)"; visibility:="reexport"
                         -> Bundle-SymbolicName: org.eclipse.core.jobs; bundle-version="3.7.0.v20150330-2103"; singleton:="true"
                            org.eclipse.core.jobs [37]
                              Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=1.7))"

    at org.eclipse.osgi.container.Module.start(Module.java:434)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

!ENTRY org.eclipse.birt.core 4 0 2016-02-11 03:41:01.868
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.eclipse.birt.core [28]
  Unresolved requirement: Require-Bundle: org.eclipse.core.runtime; bundle-version="[3.2.0,4.0.0)"; visibility:="reexport"
    -> Bundle-SymbolicName: org.eclipse.core.runtime; bundle-version="3.11.0.v20150405-1723"; singleton:="true"
       org.eclipse.core.runtime [40]
         Unresolved requirement: Require-Bundle: org.eclipse.core.jobs; bundle-version="[3.2.0,4.0.0)"; visibility:="reexport"
           -> Bundle-SymbolicName: org.eclipse.core.jobs; bundle-version="3.7.0.v20150330-2103"; singleton:="true"
              org.eclipse.core.jobs [37]
                Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=1.7))"

    at org.eclipse.osgi.container.Module.start(Module.java:434)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

!ENTRY org.eclipse.core.contenttype 4 0 2016-02-11 03:41:01.869
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.eclipse.core.contenttype [30]
  Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=1.7))"

    at org.eclipse.osgi.container.Module.start(Module.java:434)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1561)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476)
    at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

我在64位操作系统上使用64位版本的JDK 1.6.0_18。

有人可以建议一些解决方案来解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

该行:

Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=1.7))"

表示你需要使用Java 7(或8)

您可以通过编辑安装目录中的“MemoryAnalyzer.ini”文件并添加行来指定用于Eclipse MAT的特定JVM

-vm
path to Java 7 java

您必须在<-vmargs'行上添加 。您必须将'-vm'放在与路径不同的一行上。

答案 1 :(得分:0)

-vm标志并没有为我解决问题。

我需要更新路径上的java版本; readlink -e $(which java)正在展示jdk6。