使用eclipse MAT api读取Java堆转储(.hprof文件)

时间:2015-04-01 07:29:20

标签: java heap profiler mat

我想要阅读有关Java类的信息,没有实例,它的大小等等 来自java堆dump.I在我的程序中使用Eclipse MAT jar文件来读取堆转储文件。运行程序时我得到一个NullPointerException。

下面给出了访问堆转储文件的代码

public static void main(String[] args) throws SnapshotException {
        ISnapshot iSnapshot = SnapshotFactory.openSnapshot(new File("path to\\heap_dmp.hprof"), new VoidProgressListener());
        Collection<IClass> classes = iSnapshot.getClasses();
        System.out.println(" size = "+classes.size());
    }

在运行上述程序时,我遇到了异常

Exception in thread "main" java.lang.ExceptionInInitializerError
    at heapanalyser.HeapAnalyser.main(HeapAnalyser.java:16)
Caused by: java.lang.NullPointerException
    at org.eclipse.mat.snapshot.SnapshotFactory.<clinit>(SnapshotFactory.java:84)
    ... 1 more

任何人都可以解释如何编程分析Heap Dumps

0 个答案:

没有答案