Search code examples
javaheap-dumpeclipse-memory-analyzeroql

Show String contents in the OQL result when using MAT


When I execute the following OQL in Eclipse Memory Analyzer

SELECT key FROM com.google.common.cache.LocalCache$StrongAccessWriteEntry

I got the following result

key
---------------------------------
java.lang.String [id=0x7bfa42f80]
java.lang.String [id=0x7bdf3a5b0]
java.lang.String [id=0x7bdf380c0]
java.lang.String [id=0x7bdf175e0]
......
---------------------------------

I can check out the value of each result row by right-clicking it and select List Objects -> with outgoing references, that is not convenient. I want the result to be like this:

key
---------------------------------
java.lang.String [id=0x7bfa42f80]  apple
java.lang.String [id=0x7bdf3a5b0]  peach
java.lang.String [id=0x7bdf380c0]  pineapple
java.lang.String [id=0x7bdf175e0]  cherry
......
---------------------------------

Assuming apple, peach, pineapple, cherry is the contents of each row.

In this way, I'm able to know the value of each row just by looking at it. Is there any way to do it?


Solution

  • I figured it out, just use the following command

    SELECT key.toString() FROM com.google.common.cache.LocalCache$StrongAccessWriteEntry