2013-04-12 14 views
10

Bir hprof dosyasını programlı olarak analiz etmeye çalışıyorum. Android-sdk'de hprof-conv aracını kullanarak bir grup com.your.package.index dosyası oluşturdum.ayrıştırmak bellek snapshot hprof dizin dosyaları programlı olarak

Bu .index dosyalarını programsal olarak nasıl programlayabilirim?

el (Eclipse'nın Memory Analyzer) MAT aracılığıyla yapmak kolaydır dominator ağacının, bazı özel analiz çalıştırmak istiyorum ama otomatik bir şekilde yapmak istiyorum.

+3

... Bu görev boyunca rehberlik etmelidir, burada arka plan olarak OP'ın önceki soru şudur: http://stackoverflow.com/questions/15977723/analiz-a-hprof-hafıza-döküm dosyasını-den-komut satırı-programmically – CommonsWare

+0

[Mat eklentisi kaynağı] (http://dev.eclipse.org/svnroot/tools/org.eclipse hack mi. mat/trunk/plugins/org.eclipse.mat.hprof/src/org/eclipse/mat/hprof /) sizin için seçenek olarak? Kaynağa baktım ve hiç "Dominator tree" görmedim mi? –

+0

@hack_on [Yeterince sert göründüğünden emin değilim] (http://dev.eclipse.org/svnroot/tools/org.eclipse.mat/trunk/plugins/org.eclipse.mat.parser/src/org /eclipse/mat/parser/internal/DominatorTree.java). Bu, olabildiğince uyum sağlamak için korkunç görünmüyor. [SnapshotImpl] (http://dev.eclipse.org/svnroot/tools/org.eclipse.mat/trunk/plugins/org.eclipse.mat.parser/src/org/eclipse/mat/parser/internal/SnapshotImpl .java) giriş olarak verilen dosyanın bulunduğu yere benziyor. – blahdiblah

cevap

1

komut hatlarından MAT kullanmayı deneyin ve özel raporları (dominator ağacı) üretebilir. Bunun içinde, raporu oluşturmak için kullanılabilecek XML'yi kullanarak filtreleyebilir veya raporu harici kod yoluyla çözümleyebilirsiniz.

bakın: http://www.eclipse.org/forums/index.php/t/489594/

Yukarıdaki bağlantı Bu soruyu karşılaşmadan olanlar için

+1

lütfen bu aracı kullanarak nasıl otomatik olarak analiz edeceğini belirtin. – Hamad

+1

Bunu yapmanın birkaç yolu vardır, java 7 NIO'da dosya monitörlerini kullanarak hprof dizinini izleyebilir ve yukarıdaki yorumu kullanarak MAT'i tetikleyebilirsiniz. Klasör izleme kodu için: http://javapapers.com/core-java/monitor-a-folder-using-java/ –

İlgili konular