Domanda

Ho un heap dump e sto usando Eclipse MAT, anche se suppongo che questo dovrebbe funzionare attraverso VisualVM o qualunque client OQL.

Possiamo selezionare i campi di tutte le istanze di una classe facendo qualcosa di simile

select s.field1, s.field2 from org.me.MyClass

... ma questo è limitato a variabili membro, e ai tipi con le istanze.

Come si può selezionare i campi statici di una classe senza istanze?

Questo è in qualche modo legato alla quest'altra domanda .

È stato utile?

Soluzione

Per l'accesso campo statico 'oggetti di scena' della classe java.lang.System è possibile utilizzare (in VisualVM)

select heap.findClass("java.lang.System").statics.props
select heap.findClass("java.lang.System").props

Altri suggerimenti

Questo è un po 'hacker, ma lavora in MAT:

SELECT c.SIZE
FROM INSTANCEOF java.lang.Class c
WHERE c.@displayName.contains("class java.lang.Integer ")
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top