2013-04-12 10 views
10

Sto cercando di analizzare a livello di programmazione un file hprof. Utilizzando lo strumento hprof-conv in android-sdk ho ​​generato un sacco di file com.your.package.index.snapshot della memoria di analisi hprof index files programmaticamente

Come analizzare a livello di programmazione questi file .index?

Voglio eseguire alcune analisi personalizzate sull'albero del dominatore, che è facile da eseguire tramite MAT (Eclipse's Memory Analyzer) manualmente ma voglio farlo in modo automatico.

+3

Per coloro incontrare questa domanda, ecco la domanda precedente del PO come sfondo: http://stackoverflow.com/questions/15977723/analyze-a-hprof-memory-dump-file-from-command-line-programmatic – CommonsWare

+0

Sta hackerando la [fonte di plugin Mat] (http://dev.eclipse.org/svnroot/tools/org.eclipse. mat/trunk/plugins/org.eclipse.mat.hprof/src/org/eclipse/mat/hprof /) all'opzione per te? Ho guardato attraverso la fonte e non ho visto nessun "albero Dominator"? –

+0

@hack_on [Non sono sicuro che sia sembrato abbastanza difficile] (http://dev.eclipse.org/svnroot/tools/org.eclipse.mat/trunk/plugins/org.eclipse.mat.parser/src/org /eclipse/mat/parser/internal/DominatorTree.java). Non sembra così terribile adattarsi come potrebbe. [SnapshotImpl] (http://dev.eclipse.org/svnroot/tools/org.eclipse.mat/trunk/plugins/org.eclipse.mat.parser/src/org/eclipse/mat/parser/internal/SnapshotImpl .java) dato come input sembra che il file sia stato letto. – blahdiblah

risposta

1

Puoi provare a utilizzare MAT dalle linee di comando e generare rapporti personalizzati (albero di dominatori). In questo è possibile filtrare utilizzando l'XML che può essere utilizzato per generare il report o analizzare il report tramite un codice esterno.

consultare: http://www.eclipse.org/forums/index.php/t/489594/

Il link di cui sopra dovrebbe guidare l'utente attraverso questo compito ...

+1

per favore menziona come analizzerà automaticamente usando questo strumento. – Hamad

+1

Ci sono diversi modi per farlo, puoi guardare la directory hprof usando i monitor dei file nel JIO 7 di java e attivare il MAT usando il commento sopra. Per l'aspetto del codice di monitoraggio delle cartelle: http://javapapers.com/core-java/monitor-a-folder-using-java/ –

Problemi correlati